간단한 peco
「peco로 여러가지 하고 싶지만, 어차피 어려운 것일까」라고 생각하고 있었다.
하지만 정말 쉬웠다.
peco란?
표준 입력을 받고 선택하고 표준 출력을 반환하는 것. 그냥 그냥.
선택하는 곳만이 peco.
즉
이후의 배달은 자유롭게 하면 된다.
표준 입력과 표준 출력을 고안하는 것만으로 다양한 일을 할 수 있다.
가장 간단한 예
줄 바꿈으로 구분 된 텍스트
$ echo -e "a\nb\nc"
a
b
c
peco에게 주어 보면
$ echo -e "a\nb\nc" | peco
선택할 수 있다!
선택한 텍스트가 표준 출력됩니다.
이것만!
나중에 좋아하는 일을하면
sed로 바꾸는 예제 (특히 의미 없음)
echo -e "a\nb\nc" | peco | sed 's/b/Baked Cheese/g'
클립보드에 복사하는 예(Mac의 경우)
echo -e "a\nb\nc" | peco | pbcopy
자유롭다!
문제
하지만 표준 입력을 파이프로받지 않는 명령의 경우,
어떻게 peco에서 선택한 결과를 전달하면 좋을 것이다.
쉘을 잘 모르겠지만 어떤 변수로 전달할 수 있을까.
(이미지)
echo -e "a\nb\nc" | peco | echo $SELECTED
답
반대로 한다.
peco의 결과를 파이프로 다른 명령에 전달하는 대신,
다른 커멘드에 건네주는 내용으로서, 서브 커멘드내에서 peco를 사용해 한다.
echo에 전달하는 예 (특히 의미 없음)
peco의 디폴트의 거동과 다르지 않지만, 스스로 echo한다면 이런 느낌.
echo $(echo -e "a\n\b\c" | peco)
처음에는 이상하게 생각했지만, 쉘의 사양으로서 서브 커맨드를 먼저 실행하기 때문에, peco로 일단 실행이 「멈추고」, 선택할 수 있는 모드에 들어가는 것 같다. (잘 됐다)
ls에 전달하는 예
원하는 디렉토리를 선택합니다.
ls $(echo -e "./\n../\n/" | peco)
ls에 전달하는 예
(쉘의 사양이므로 peco와는 직접 관계없지만)
ls
/ls -la
라든지, 옵션의 부분을 전환해 주기도 한다.
ls $(echo "-la\n" | peco)
사용하기 쉽게
쉘의 별칭 등록하거나 단축키에 등록하면 된다.
직접 만들어 보았습니다.
(어딘가에 비슷한 것이 떨어질 것입니다)
이후의 배달은 자유롭게 하면 된다.
표준 입력과 표준 출력을 고안하는 것만으로 다양한 일을 할 수 있다.
가장 간단한 예
줄 바꿈으로 구분 된 텍스트
$ echo -e "a\nb\nc"
a
b
c
peco에게 주어 보면
$ echo -e "a\nb\nc" | peco
선택할 수 있다!
선택한 텍스트가 표준 출력됩니다.
이것만!
나중에 좋아하는 일을하면
sed로 바꾸는 예제 (특히 의미 없음)
echo -e "a\nb\nc" | peco | sed 's/b/Baked Cheese/g'
클립보드에 복사하는 예(Mac의 경우)
echo -e "a\nb\nc" | peco | pbcopy
자유롭다!
문제
하지만 표준 입력을 파이프로받지 않는 명령의 경우,
어떻게 peco에서 선택한 결과를 전달하면 좋을 것이다.
쉘을 잘 모르겠지만 어떤 변수로 전달할 수 있을까.
(이미지)
echo -e "a\nb\nc" | peco | echo $SELECTED
답
반대로 한다.
peco의 결과를 파이프로 다른 명령에 전달하는 대신,
다른 커멘드에 건네주는 내용으로서, 서브 커멘드내에서 peco를 사용해 한다.
echo에 전달하는 예 (특히 의미 없음)
peco의 디폴트의 거동과 다르지 않지만, 스스로 echo한다면 이런 느낌.
echo $(echo -e "a\n\b\c" | peco)
처음에는 이상하게 생각했지만, 쉘의 사양으로서 서브 커맨드를 먼저 실행하기 때문에, peco로 일단 실행이 「멈추고」, 선택할 수 있는 모드에 들어가는 것 같다. (잘 됐다)
ls에 전달하는 예
원하는 디렉토리를 선택합니다.
ls $(echo -e "./\n../\n/" | peco)
ls에 전달하는 예
(쉘의 사양이므로 peco와는 직접 관계없지만)
ls
/ls -la
라든지, 옵션의 부분을 전환해 주기도 한다.
ls $(echo "-la\n" | peco)
사용하기 쉽게
쉘의 별칭 등록하거나 단축키에 등록하면 된다.
직접 만들어 보았습니다.
(어딘가에 비슷한 것이 떨어질 것입니다)
$ echo -e "a\nb\nc"
a
b
c
$ echo -e "a\nb\nc" | peco
sed로 바꾸는 예제 (특히 의미 없음)
echo -e "a\nb\nc" | peco | sed 's/b/Baked Cheese/g'
클립보드에 복사하는 예(Mac의 경우)
echo -e "a\nb\nc" | peco | pbcopy
자유롭다!
문제
하지만 표준 입력을 파이프로받지 않는 명령의 경우,
어떻게 peco에서 선택한 결과를 전달하면 좋을 것이다.
쉘을 잘 모르겠지만 어떤 변수로 전달할 수 있을까.
(이미지)
echo -e "a\nb\nc" | peco | echo $SELECTED
답
반대로 한다.
peco의 결과를 파이프로 다른 명령에 전달하는 대신,
다른 커멘드에 건네주는 내용으로서, 서브 커멘드내에서 peco를 사용해 한다.
echo에 전달하는 예 (특히 의미 없음)
peco의 디폴트의 거동과 다르지 않지만, 스스로 echo한다면 이런 느낌.
echo $(echo -e "a\n\b\c" | peco)
처음에는 이상하게 생각했지만, 쉘의 사양으로서 서브 커맨드를 먼저 실행하기 때문에, peco로 일단 실행이 「멈추고」, 선택할 수 있는 모드에 들어가는 것 같다. (잘 됐다)
ls에 전달하는 예
원하는 디렉토리를 선택합니다.
ls $(echo -e "./\n../\n/" | peco)
ls에 전달하는 예
(쉘의 사양이므로 peco와는 직접 관계없지만)
ls
/ls -la
라든지, 옵션의 부분을 전환해 주기도 한다.
ls $(echo "-la\n" | peco)
사용하기 쉽게
쉘의 별칭 등록하거나 단축키에 등록하면 된다.
직접 만들어 보았습니다.
(어딘가에 비슷한 것이 떨어질 것입니다)
하지만 표준 입력을 파이프로받지 않는 명령의 경우,
어떻게 peco에서 선택한 결과를 전달하면 좋을 것이다.
쉘을 잘 모르겠지만 어떤 변수로 전달할 수 있을까.
(이미지)
echo -e "a\nb\nc" | peco | echo $SELECTED
답
반대로 한다.
peco의 결과를 파이프로 다른 명령에 전달하는 대신,
다른 커멘드에 건네주는 내용으로서, 서브 커멘드내에서 peco를 사용해 한다.
echo에 전달하는 예 (특히 의미 없음)
peco의 디폴트의 거동과 다르지 않지만, 스스로 echo한다면 이런 느낌.
echo $(echo -e "a\n\b\c" | peco)
처음에는 이상하게 생각했지만, 쉘의 사양으로서 서브 커맨드를 먼저 실행하기 때문에, peco로 일단 실행이 「멈추고」, 선택할 수 있는 모드에 들어가는 것 같다. (잘 됐다)
ls에 전달하는 예
원하는 디렉토리를 선택합니다.
ls $(echo -e "./\n../\n/" | peco)
ls에 전달하는 예
(쉘의 사양이므로 peco와는 직접 관계없지만)
ls
/ls -la
라든지, 옵션의 부분을 전환해 주기도 한다.
ls $(echo "-la\n" | peco)
사용하기 쉽게
쉘의 별칭 등록하거나 단축키에 등록하면 된다.
직접 만들어 보았습니다.
(어딘가에 비슷한 것이 떨어질 것입니다)
echo $(echo -e "a\n\b\c" | peco)
ls $(echo -e "./\n../\n/" | peco)
ls $(echo "-la\n" | peco)
쉘의 별칭 등록하거나 단축키에 등록하면 된다.
직접 만들어 보았습니다.
(어딘가에 비슷한 것이 떨어질 것입니다)
문제
peco를 여러 번 연속적으로 실행하는 방법?
( peco로 선택 => 실행 결과 => 다른 것을 peco로 선택 => 실행 결과, 같은)
답
쉘 스크립트 안에서 peco를 돌리면 좋다.
예
some.shwhile true; do
echo -e "a\nb\nc" | peco
read Wait
done
만들어 본 사람
업무상 틈새 시장.
Bigquery | peco에서 연속 작업 세부 정보보기 쉘 스크립트 - Qiita
Reference
이 문제에 관하여(간단한 peco), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/YumaInaura/items/25d36f7cac3241ee2728
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
while true; do
echo -e "a\nb\nc" | peco
read Wait
done
Reference
이 문제에 관하여(간단한 peco), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/YumaInaura/items/25d36f7cac3241ee2728텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)