16

バッチ ファイル内の 120 文字を超える行のリストを取得したいと考えています。このために、sedを使用することを考えました。私は試しましたが、成功しませんでした。どうすればこれを達成できますか? sed を使用する以外にリストを取得する方法はありますか?? ありがとう..

4

3 に答える 3

29

awk を使用してこれを行う別の方法:

cat file | awk 'length($0) > 120'
于 2012-10-10T08:57:29.363 に答える
19

grepとその繰り返し量指定子を使用できます。

grep '.\{120\}' script.sh
于 2012-10-10T08:56:16.343 に答える
10

sed を使用すると、いくつかの選択肢があります。

sed -e '/.\{120\}/!d'
sed -e '/^.\{,119\}$/d'
sed -ne '/.\{120\}/p'

最初のオプションは、(少なくとも) 120 文字を持たない行に一致し (式の後は、その前のパターンに一致しない!行でコマンドを実行することです)、それらを削除します (つまり、それらを出力しません)。 )。

2 番目のオプションは、開始 ( ^) から終了 ( $) までの合計文字数が 0 から 119 の行に一致します。これらの行も削除されます。

3 番目のオプションは、-nフラグを使用することです。これは、sed にデフォルトで行を印刷しないように指示し、指示した場合にのみ何かを印刷するように指示します。この場合、(少なくとも) 120 文字の行を照合し、それらを出力するために使用pします。

于 2012-10-10T11:12:23.487 に答える