찾기를 통해 찾은 파일에 액세스

찾기를 통해 찾은 파일에 액세스

많은 경우 명령을 사용하여 파일을 찾은 후 find파일을 열거나 캡처하거나 인쇄하고 싶습니다. 찾기 결과를 어떻게 처리하나요? 예를 들어,

: find . -name "myfile.txt"
./docs/myfile.txt

: find . -name "myfile.txt" | less

지정된 경로의 파일 내용 대신 "./docs/myfile.txt" 문자열을 적게 제공하기 때문에 작동하지 않습니다.

답변1

@coffeeMug와 유사하게 이것은 확실히 더 빠르기 때문에 새로운 접근 방식입니다.

find . -name "*.log" -exec ls -l '{}' +

나도 너한테 지적할게명령줄 푸, 항상 이런 일에 도움이 됩니다.

답변2

less $(find . -name myfile.txt)

less `find . -name myfile.txt`

첫 번째는 POSIX와 호환되고 중첩 가능하다고 생각합니다. 제 생각에는 두 번째 것이 더 휴대성이 좋다고 생각합니다.

답변3

-exec이를 달성하기 위해 find의 플래그를 사용할 수 있습니다 .

find . -name "*.log" -exec ls -l '{}' \;

이 예에서 find는 현재 디렉터리의 모든 로그 파일을 검색한 다음 find를 사용하여 해당 파일을 나열합니다 ls -l. 귀하의 경우 ls매뉴얼 less페이지의 ACTION 섹션을 찾으려면 여기를 참조하십시오.(1) 매뉴얼 페이지 찾기.

답변4

이전 명령의 출력을 자동으로 얻을 수 있는 방법은 없습니다(일반적인 상황에서는 제외). 그러나 마우스로 출력을 수동으로 선택하면 다음을 실행할 수 있습니다.

less `xsel`

또는 출력에 공백이나 와일드카드가 포함되어 있고 zsh를 실행하지 않는 경우,

less "`xsel`"

명령을 다시 실행해도 괜찮다면 Up줄의 시작과 끝(또는 bash나 ksh의 줄 시작과 공백 처리)에서 add를 누른 다음 추가하세요.less ``less "``"

관련 정보