'find'명령으로 찾은 파일 열기


12

이것은 아마도 쉬운 일이지만 알아낼 수 없으며 검색 할 수 없습니다. 폴더 계층에는 정확히 xyz 유형의 파일이 하나 있습니다. 해당 파일을 찾아 터미널 명령으로 열고 싶습니다.

find . -name *.xyz

원하는 파일을 반환합니다. 이름을 입력하지 않고 어떻게 자동으로 열 수 있습니까?

find . -name *xyz | open

작동하지 않습니다. 열린 명령을 찾지 못했습니다.


3
어떤 종류의 파일입니까? 실행 파일이 아닌 경우 파일을 어떤 프로그램에서 열겠습니까? 아, Windows가 우리 인구에게 한 일 = /
chown

이것은 아마도 슈퍼 유저에 속할 것입니다.
46 초

1
Windows가 아닌 Mac에 있는데 기본 프로그램으로 파일을 열고 싶습니다.

2
찾기 . 이름 * xyz | xargs가 열려 있습니다. -name * .xyz -exec open {} \; 둘 다 일했다. 감사.

해결책을 찾아서 다행입니다. 자신에게 가장 적합한 솔루션을 표시하는 것을 잊지 마십시오. 다른 사람들은 당신의 '수락'비율을 보게 될 것이며 이것은 미래의 질문을 할 때 먼 길을갑니다. 수용 비율이 낮은 사용자는 종종 질문을 무시합니다. =)
matchew

답변:


10

@retracile이 정확합니다. '무언가'로 열어야합니다. 그러나 xargs보다 exec를 사용하는 것을 선호합니다.

find . -name '*.xyz' -exec cat {} \;

이것은 cat fileFound.xyz; cat fileFound2.xyx;등 을 반환 합니다. 그러나 하나의 파일 만 찾을 것으로 기대합니다.

변화하는 것을 참고 \;로하여 +반환 cat fileFound.xyz fileFound2.xyz하는 경우에 나중에 어쩌면 선호하는 선택을 따라.

이것에 대한 자세한 내용은 이 질문으로 안내합니다.


6

찾고있는 명령을 xdg-open

그것으로 명령을보십시오 :

xdg-open "$(find . -name '*xyz' | head -n1)"

6

파일을 여는 데 사용할 프로그램을 알아야합니다. 이미지 인 경우 gwenview 또는 무언가를 사용할 수 있습니다.

입력을 받아 인수로 바꾸는 것은 xargs를 통해 이루어집니다. 그리고 당신은 그 와일드 카드를 탈출하고 싶을 것입니다 ...

find . -name \*xyz | xargs gwenview

그리고 파일 이름에서 공백을 처리하려면 ....

find . -name \*xyz | xargs -d"\n" gwenview

2

다른 사람들이 지적했듯이 귀하의 질문은 명확하게 대답하기에 충분하지 않습니다. 따라서 또 다른 가능한 의미를 추측하십시오 . 실행 파일 로 실행하려는 경우 (프로그램이 실행 가능함을 의미 함 ) 명령 행의 일부로 find 명령의 출력을 대체하도록 쉘에 지시하십시오. :

$(find . -name *.xyz)

0

findvim의 단일 인스턴스에서 별도의 탭으로 찾은 모든 파일을 열려면 다음을 수행하십시오.

find . -name \*xyz | xargs vim -p
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.