我想获取批处理文件中长度大于 120 个字符的行列表。为此,我想到了使用 sed。我尝试过,但没有成功。我怎样才能做到这一点?除了使用 sed 之外,还有其他方法可以获取列表吗?谢谢..
问问题
30690 次
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 个字符的行(!
表达式之后是在与其之前的模式不匹配的行上执行命令),并删除它们(即不打印它们)。
第二个选项匹配从 start ( ^
) 到 end ( $
) 总共有 0 到 119 个字符的行。这些行也被删除。
第三个选项是使用-n
标志,它告诉 sed 默认不打印行,并且只在我们告诉它的情况下打印一些东西。在这种情况下,我们匹配具有(至少)120 个字符的行,并用于p
打印它们。
于 2012-10-10T11:12:23.487 回答