是否可以使用grep根据特定文件中的长度搜索字符串?
我尝试使用awk,但没有用
awk '$0~"^s" && length($0)==31' strings.xml
如果不使用grep,则可以使用其他命令行工具进行查找。
答案 0 :(得分:0)
您可以使用:
grep -E '^s.{30}$' strings.xml
正则表达式在行首匹配s
,后跟任意30个字符,然后匹配行尾。因此它将与以s
开头的正好31个字符的行匹配。
但是awk
命令是等效的,因此,如果该命令不起作用,也将无效。
答案 1 :(得分:0)
awk
默认是按空格分隔字段,因此,如果要与以s
开头且长度为31的第一个匹配项进行匹配,则可以使用:
awk '$1 ~ /^s.{30}$/ {print}' strings.xml
/^s
要匹配一个以s
开头的字符串,而.{30}$
要匹配任何.
个字符(行终止符除外){30}
恰好30次