コマンドを実行してfind
から、出力の行数を数え、結果の出力を出したいです。私の率直なアプローチはこれでした:
output=$(find ...)
lines=$(echo "$output" | wc -l)
echo "$output"
しかし残念なことに、echo
これをパイプするために使用するwc
と改行が追加されるため、find
何も見つからなかった場合でも (出力のゼロ行)、それwc
は(追加され1
た改行に対して.echo
echo
出力に改行が追加されないように を aに変更しましたが、 likeprintf
の 1 行の出力にも改行がなかったため、が出力されました。find
var/
wc
0
問題は、出力のキャプチャにあります ( $(...)
)。私の場合は関連する末尾の改行を取り除きます。
これをどうにかして防ぐことはできますか?
元のタスクにまったく異なるアプローチはありますか?