어쩌면 간단한 질문일 수도 있지만 알아낼 수도 없고 검색도 거의 불가능합니다. 폴더 계층에는 xyz 유형의 파일이 하나만 있습니다. 파일을 찾아 터미널 명령을 사용하여 열고 싶습니다.
find . -name *.xyz
그러면 내가 찾고 있는 파일이 반환됩니다. 이제 이름을 입력하지 않고 어떻게 자동으로 열 수 있습니까?
find . -name *xyz | open
이것은 작동하지 않습니다. open 명령을 찾을 수 없다고 나옵니다.
답변1
@retracile이 맞습니다. 그것을 열려면 "무언가"가 필요합니다. 그러나 나는 xargs 대신 exec를 사용하는 것을 선호합니다.
find . -name '*.xyz' -exec cat {} \;
그러면 등이 반환됩니다 cat fileFound.xyz; cat fileFound2.xyx;
. 그러나 파일 하나만 찾으려고 합니다.
상황에 따라 로 변경하면 \;
반환 되며 후자가 더 선호될 수 있습니다.+
cat fileFound.xyz fileFound2.xyz
이에 대한 자세한 내용은 안내해 드리겠습니다.이 문제
답변2
파일을 열려면 어떤 프로그램을 사용해야 하는지 알아야 합니다. 이미지라면 gwenview 등을 사용할 수 있습니다.
xargs를 사용하여 입력을 받아 인수로 변환합니다. 그리고 그 와일드카드를 이스케이프 처리해야 합니다...
find . -name \*xyz | xargs gwenview
파일 이름의 공백을 처리합니다 ...
find . -name \*xyz | xargs -d"\n" gwenview
답변3
당신이 찾고있는 명령은 다음과 같습니다xdg-open
다음 명령을 사용해 보세요.
xdg-open "$(find . -name '*xyz' | head -n1)"
답변4
find
단일 vim 인스턴스에서 별도의 탭에 있는 모든 파일을 열려면 다음을 수행하세요.
find . -name \*xyz | xargs vim -p