찾기 명령을 사용하여 찾은 파일 열기

찾기 명령을 사용하여 찾은 파일 열기

어쩌면 간단한 질문일 수도 있지만 알아낼 수도 없고 검색도 거의 불가능합니다. 폴더 계층에는 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

관련 정보