私はbashに最初に触れ、ファイル内の文字数を数えようとしています。私は次の関数を書いた。
function chars(){
m=$(cat $1)
m=${#m}
echo $m
}
echo $(chars $2)
ファイルから呼び出された結果は524、wc -c
同じファイルから呼び出された結果は525です。違いの原因は何ですか?どうすれば同じ結果が得られますか? (追加の質問で、関数の最初の2行を1つにまとめることができますか?)
ベストアンサー1
wc -c
バイト数を返します。
wc -m
文字数を返します。
あなたの関数は文字数を数えるので、あなたの関数の出力番号はの出力とwc -m
一致する必要があると思います。