2

UNIXシェルスクリプトでファイルの行数を数えたいのですが、80文字以内の行数が必要で、80文字を超える場合は複数行として数えます。

wc -l が行数をカウントすることは知っていますが、この種のことを指定するオプションがないことも知っています。

4

3 に答える 3

8

foldを使用して 80 文字を超える行を分割し、出力をwcにパイプします。

$ fold file | wc -l
于 2011-03-08T17:04:03.470 に答える
1

これはあなたが望むことをするかもしれません:

sed -r 's,(.{80}),\1\n,g' filename | wc -l
于 2011-03-08T17:03:28.463 に答える
0

fold答えはUNIXの方法に最も適していますが:

awk '{n += 1+int(length/80)} END {print n}' filename
于 2011-03-08T17:55:41.497 に答える