나는 때때로 다음과 같은 것을 사용하여 작은 파일 세트를 빠르게 탐색하기 위해 less를 사용합니다.
less brscan/*/*
:n
그런 다음 파일을 반복 해서 사용했습니다.
다음과 같은 폴더가 있으면
brscan/
├── DEBIAN
│ ├── conffiles
│ ├── control
│ ├── postinst
│ ├── postrm
│ └── prerm
├── etc
│ └── opt
├── opt
│ └── brother
└── usr
├── bin
└── lib64
이 예에서는 less
폴더의 파일이 선택됩니다.DEBIAN
DEBIAN
├── conffiles
├── control
├── postinst
├── postrm
└── prerm
하지만 다른 하위 디렉터리로 이동하지 않고 오류만 발생합니다.
brscan/etc는 디렉터리입니다
. brscan/opt는 디렉터리입니다.
brscan/usr은 디렉터리입니다.
이러한 하위 디렉터리에 있는 파일의 페이징을 줄이는 것이 가능합니까?
나는 다음과 같은 것을 생각하고 있었다
find brscan/ | xargs less
하지만 작동하지 않습니다. 여전히 디렉토리를 선택하고 있습니다.
답변1
-not -type d
검색 결과에서 디렉터리가 생략되도록 지정합니다.
find -not -type d | xargs less
또는 더 나은:
find -not -type d -print0 | xargs -0 less
공백이 있는 파일 이름을 더 잘 처리합니다.
답변2
그리고 bash
,글로벌 스타옵션이 활성화되면 다음을 수행할 수 있습니다.
shopt -s globstar
less brscan/**/*
그러나 여기에는 디렉토리도 포함됩니다. 다음을 사용하여 zsh
일반 파일의 확장자만 필터링할 수 있습니다 .
less brscan/**/*(.)
너무 많은 파일이 반환되면 위의 모든 작업이 실패합니다. 안전한 방법은 다음을 사용하는 것입니다 find
.
find brscan -type f -exec less {} +