일치하는 파일 수를 grep
변수라는 변수에 어떻게 저장할 수 있나요 nf
?
다음 명령을 사용 grep
하고 계산은 wc
.
grep -rl "${isufx[@]}" -e "$ptrn" -- "${fdir[@]}" | wc -l
답변1
다음 명령을 포함하면 변수에 저장된 파일 수를 계산할 수 있습니다 $(...)
.
nf=$(grep -rl "${isufx[@]}" -e "$ptrn" -- "${fdir[@]}" | wc -l)
또 다른 옵션은 전통적인 역따옴표입니다.
nf=`grep -rl "${isufx[@]}" -e "$ptrn" -- "${fdir[@]}" | wc -l`
답변2
파일 수를 찾고 GNU find
( -r
GNU 확장자 먼저)를 가정하려면 NUL로 구분된 파일 경로를 인쇄한 다음 출력에서 NUL 수를 계산하도록 지시할 수 있습니다.
grep --null -rl "${isufx[@]}" -e "$ptrn" -- "${fdir[@]}" |
tr -cd '\0' | wc -c
tr -cd '\0'
NUL(보수)을 제외한 모든 문자를 제거 d
하고 바이트 수를 계산하는 데 사용됩니다 .c
wc -c
GNU 유틸리티의 대안 grep -zc '^'
은 또는 입니다 sed -z '$='
.gawk -v RS='\0' 'END{print NT}'