bash 코드를 통해 파일 이름을 파이프로 연결하려고합니다.Bash : 파이핑 to eog
내 코드는 다음과 같습니다. ls | grep "sample" | head -1
여기서 sample은 필수 파일의 이름입니다.
출력을 파이프로 연결하는 방법을 알아 내려는 데 문제가 있습니다.
나는 위의 코드의 출력을 변수에 저장 한 다음 그 변수를 무시한 결과로 전달하려고 시도했습니다.
제안 사항?
bash 코드를 통해 파일 이름을 파이프로 연결하려고합니다.Bash : 파이핑 to eog
내 코드는 다음과 같습니다. ls | grep "sample" | head -1
여기서 sample은 필수 파일의 이름입니다.
출력을 파이프로 연결하는 방법을 알아 내려는 데 문제가 있습니다.
나는 위의 코드의 출력을 변수에 저장 한 다음 그 변수를 무시한 결과로 전달하려고 시도했습니다.
제안 사항?
이게 당신이 찾고 있는게 있나요?
ls | grep "sample" | head -1 | xargs eog
도와 주셔서 감사합니다. 그게 내가 찾고 있던거야. – mundomug
eog ("그놈의 눈")은 파일을 그 안에 넣는 것을 허용하지 않습니다. 명령 줄 매개 변수로 파일 이름을 제공해야합니다.
eog *sample*
을하지만 그 이름이 단어 sample
을 포함하는 현재 디렉토리에있는 모든 파일을 보여주는 효과가있을 것입니다 : 하나의 일치하는 파일 이름이 있다면
, 당신은 입력 할 수 있습니다. 당신이 알파벳 순으로 최초의 파일을 표시 할 하나가 될 것으로 기대하는 이유는 나에게 분명하지 않다, 그러나 당신은에 그렇게 할 수 있습니다 :
eog $(ls *sample* | head -n1)
당신은하지만,보다 구체적인 패턴을 찾기 위해 선호 할 수
.
감사합니다. 당신의 솔루션과 @ linuts의 해결책은 모두 작동합니다. – mundomug
하나는 때때로 (파일 이름에 예를 들어, 공백 또는 줄 바꿈을) 잘못 될 수있는 ls
의 출력을 구문 분석보다는 말할 수있는, 그래서 당신은 다음 시도 할 수 있습니다 :
find . -iname '*sample*' -exec eog '{}' \; -quit
또는 제한을 현재 디렉토리
로를find . -maxdepth 1 -iname '*sample*' -exec eog '{}' \; -quit
위의 "샘플"에 포함 된 내용을 모든 파일을 찾을 것입니다 (대소 문자 구분을 - 대소 문자에 대한 -name
사용) 그것에 eog
를 실행합니다 - 그리고 1 경기 후 종료됩니다, 그래서 첫 번째 파일을 엽니 다.
'아이그'란 무엇입니까? 파일? 프로그램? 내 돈을 위해 코드를 쉘 스크립트로 작성하고 실행 가능하게 만든다. 실패하면, 그것을 기능으로 만드십시오. –
명확히하기 : 파일 이름을 인자로 호출하고 싶습니까, 아니면 파일 이름을 표준 입력란에 쓰길 원합니까? 나는 후자가 어떤 것을 성취 할 것이라고 생각하지 않는다. – sepp2k
@JonathanLeffler : 이미지 뷰어 인 [Eye of GNOME] (http://projects.gnome.org/eog/). – hammar