我想获得批处理文件中长度超过120个字符的行列表。为此我想到了使用sed。我试过,但我没有成功。我怎样才能实现这一目标? 有没有其他方法来获得除了使用sed之外的列表? 谢谢..
答案 0 :(得分:19)
使用awk执行此操作的另一种方法:
cat file | awk 'length($0) > 120'
答案 1 :(得分:10)
您可以使用grep
及其重复量词:
grep '.\{120\}' script.sh
答案 2 :(得分:6)
使用sed,你有一些选择:
sed -e '/.\{120\}/!d'
sed -e '/^.\{,119\}$/d'
sed -ne '/.\{120\}/p'
第一个选项匹配没有(至少)120个字符的行(表达式之后的!
在不匹配模式的行上执行命令在它之前),并删除它们(即不打印它们)。
第二个选项匹配从开头(^
)到结尾($
)的行总数从0到119的行。这些行也会被删除。
第三个选项是使用-n
标志,它告诉sed默认不打印行,并且只有在我们告诉它时才打印。在这种情况下,我们匹配具有(至少)120个字符的行,并使用p
来打印它们。