스크립트를 작성하지 않고 한 줄로 입력 할 수 있는지 확실하지 않지만 ls | grep
명령을 실행 한 다음 각 결과에 대해 다른 명령으로 파이프합니다.한 명령에서 다른 명령으로 여러 결과를 bash로 보내려면 어떻게해야합니까?
구체적으로 말씀 드리면, 이미지가 가득한 디렉토리가 있으며 특정 파일 만보고 싶습니다. 관심있는 이미지를 ls | grep -i <something>
으로 필터링하여 일치하는 파일 목록을 반환 할 수 있습니다. 그런 다음 각 파일에 대해 eog
에 전달하여보고 싶습니다.
단순히과 같이 eog
에에 결과를 전달하는 시도했다 :
eog $(ls | grep -i <something>)
이하지 않습니다 그것은 단지 결과 목록의 첫 번째 항목을 엽니 다 같이 잘 작동.
그래서이 작업을 스크립트에 번들하지 않고도 결과 목록의 각 항목에 대해 eog FILENAME
을 어떻게 실행할 수 있습니까?
편집 : 답변에 제안한 것처럼, 나는 그래서 같은 for
루프를 사용할 수는 :
for i in 'ls | grep -i ...'; do eog $i; done
이 작동하지만, 나는 현재 열려있는 eog
인스턴스를 닫을 때까지 루프가 반복 기다립니다.
이상적으로는 n
내 ls | grep
명령에서 반환 된 결과의 수이고, 한 번에 모든를 엽니 다 eog
의 n
인스턴스 싶습니다. 이것이 가능한가?
감사합니다.
위의 명령은 나를 위해 잘 작동합니다. –