많은 경우 명령을 사용하여 파일을 찾은 후 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 "`
`"