find -print0
処理するファイルのリストを一時ファイルとして保存するシェルスクリプトがあります。ロギングの一部として見つかったファイルの数を出力したいので、その数を取得する方法が必要です。-print0
セキュリティ上の理由からこのオプションを使用しない場合は、このオプションを使用してカウントをwc -l
取得できます。
ベストアンサー1
いくつかのオプション:
tr -cd '\0' | wc -c
tr '\n\0' '\0\n' | wc -l # Generic approach for processing NUL-terminated
# records with line-based utilities (that support
# NUL characters in their lines like GNU ones).
grep -cz '^' # GNU grep
sed -nz '$=' # recent GNU sed, no output for empty input
awk -v RS='\0' 'END{print NR}' # not all awk implementations
最後のNUL文字(またはNUL文字のない空でない入力)以降のデータを含む入力の場合、これらのtr
メソッドは常にNUL文字数を数えますが、awk
//sed
メソッドはgrep
これらの追加バイトの追加レコードを計算します。