bashを使用して文字数を計算する

bashを使用して文字数を計算する

私は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一致する必要があると思います。

おすすめ記事