grepのオプションを使用して、-c
これに一致する行をカウントすることにより、これを実現できます。$
文字が行末に一致することに注意してください。また、改行を保持するために\n
二重引用符がどのように重要であるかもわかりません。$test
test="one
two
three"
echo $test | grep -c '$'
1
echo "$test" | grep -c '$'
3
オプションを使用して^
、行の先頭などに対してテストすることも.*
、質問のように行全体に対してテストすることもできます。^.*$
-c
wc
複数行の変数をテストするのはどうですか。wc -l
改行カウントを出力します。
echo "$test" | wc -l
3
また、とを使用してファイル(または変数/ stdout)でカウントおよびファイルを作成するためにnewlines
使用することもできます。 wc
characters
words
wc -m
wc -w
または、たとえば、変数に含まれていない一意の文字tr
に置き換えるために使用するのはどうですか。\n
echo "$test" | tr '\n' '_'
one_two_three_
次にgrep
、置き換えられた文字、この場合は_
または使用するcat -E
echo "$test" | cat -E
one$
two$
three$
cat-E
または各行の終わりに--show-ends
表示されます。$