ファイル1行のバイト数を取得する方法を知りたいです。
私はwc -l
ファイルの行数とwc -c
ファイルの合計バイト数を取得するために使用できることを知っています。しかし、私が望むのは、ファイルの1行のバイト数を取得することです。
どうすればいいですか?
答え1
sed -n 10p myfile | wc -c
10行目のバイトmyfile
(改行/改行文字を含む)が計算されます。
少し読みやすい変形です。
sed -n "10{p;q;}" myfile | wc -c
(またはまたはsed '10!d;q'
)sed '10q;d'
は、10行目以降のファイルの読み取りを停止します。これは長いファイル(またはストリーム)に興味深いかもしれません。 (ありがとうございます。チームケネディそしてピーター・コルデス議論をしましょう。 )
各種テキスト行抽出法の性能比較大容量ファイルのX線をY線に接続。
答え2
この試み:
line=10
tail -n "+$line" myfile | head -n 1 | wc -c
line
計算する必要がある行番号を設定します。
答え3
使い方が少し簡単ですawk
。
awk 'NR==10{print length($0)}' myfile