파일 한 번 열기를 사용할 수 있지만 cat -- -file00
한 번에 여러 파일을 열고 싶습니다. find를 사용해 보았으나 찾을 수 없었습니다.
find ./ -name '*.txt' exec cat {} \;
find ./ -name '*.txt' exec grep 'inhere' {} \;
이들 중 어느 것도 작동하지 않습니다. 디렉터리에 다음 형식의 파일이 여러 개 있습니다. -file00 -file01 -file03 -file04 -file05 -file06
답변1
-name '*.txt'
.txt
이름이 .로 끝나는 파일을 일치시키는 것입니다 . 그건 당신과 어울리지 않을 거예요. 파일과 일치하는 패턴을 사용하십시오.
find . -name '-file*' -exec cat {} +
또는
cat ./-file*
모두 현재 디렉터리에 있는 경우(파일을 무작위 순서로 나열하는 것과 달리 이러한 파일을 알파벳 순서로 find
정렬하는 이점도 있습니다).
가 아닌 로 시작하기 위해 모든 매개변수가 --
전달되었으므로 위의 내용은 필요하지 않습니다 .cat
./
-
보다 구체적인 일치를 위해( -file
뒤에 소수점 이하 두 자리만 표시됨):./-file[0-9][0-9]
답변2
xargs
원한다면 그것도 사용할 수 있습니다.
find ./ -name '-file0*' | xargs cat
위에서 언급했듯이 실제로 파일 .txt
확장자가 없습니다. 그렇다면 다음 -file0*
으로 대체할 수 있습니다.*.txt