1

変数の行数を数える方法はわかっています。ただし、コメントと回答に記載されているように、空の変数は通常、空ではない、改行のない変数と同じようにカウントされるため、空の変数に関してはセマンティクスが風変わりです。

$ echo -n "" | wc -l
0
$ echo -n "foo" | wc -l
0
$ echo "" | wc -l
1
$ echo "foo" | wc -l
1

他のコマンドが返した結果の数を数えたい場合は、あまり良くありません。

現在、その質問に対する回答の 1 つで、部分的な回避策が提案されています。

printf "%s" "$a" | grep -c "^"

しかし、値が改行である空でない変数を0行としてカウントするため、それは私が求めているものでもありません。

私の質問:「定期的に」カウントしてから空の場合を明示的にチェックする以外に、bashでそのようなカウントを取得する適切な方法はありますか?

4

2 に答える 2