テキストファイルのx - y行の文字数を印刷するにはどうすればよいですか?Linux: 'x'〜 'y'行のテキストファイル内の文字の数
私はwc -m filename.txt
を使ってみましたが、検索を制限する方法がわかりませんでした。
テキストファイルのx - y行の文字数を印刷するにはどうすればよいですか?Linux: 'x'〜 'y'行のテキストファイル内の文字の数
私はwc -m filename.txt
を使ってみましたが、検索を制限する方法がわかりませんでした。
あなたはに出力をしたい行を選択するために、sed
コマンドを使用して、パイプすることができますwc
。このような何かをライン6-10を選択して、文字の数を印刷します:
sed -n '6,10p' filename.txt | wc -m
あなたはこれを試してみてください
head -y filename | tail -(y-x+1) | wc -m
を使用することができます。
awk '{ print NR, "-", length($0)}' filename.txt
それは行番号NR
とfilename.txt
の行length($0)
あたりの文字数を出力しますので、出力のようなものになります。
1 - 3 # line 1 with 3 characters
2 - 0 # line 2 with no characters
...
特定の範囲の文字数を印刷する、のは、これは使用することができ、3行1から言わせて:
awk 'NR>=1 && NR<=3 { print length($0)}' filename.txt
これは間違った答えを与えます。例えば、 'y == 10'、' x == 1'は、最初の10行目よりも10番目の行だけを出力します。 –
'tail -x'は、元のファイルから返される行数を指定します。 編集:代わりにチェックしたい行の総数を使用する必要があります。 (1つのエラーでオフになっていた、申し訳ありません) –
ヒントをありがとう。それを私が直した。 –