ファイル内のシンボルの数を取得したい。
wc -c f1.txt | grep [0-9]
ただし、このコードは、grepが数値を検出した行を返します。38だけリトランしたい。どのように?
awkを使用できます:
wc -c f1.txt | awk '{print $1}'
または使用grep -o
:
wc -c f1.txt | grep -o "[0-9]\+"
またはbash正規表現機能を使用する:
re="^ *([0-9]+)" && [[ "$(wc -c f1.txt)" =~ $re ]] && echo "${BASH_REMATCH[1]}"
wc
ファイルの代わりにstdinからデータを渡します。nchars=$(wc -c < f1.txt)