我有一个单词列表,全部用新行分隔:
tomato
cucumber
potato
onion
apples
banana
bread
butter
bacon
salsa
chips
我想输出所有具有所需字符串长度 n 的单词。如果 n = 5,则输出字应为:
chips
salsa
bacon
bread
onion
我知道sed 's/""//g' list.txt | awk '{ print length }'
将输出每一行的长度,我可以匹配那些等于5的那些,但想要那些特定行的内容。
答案 0 :(得分:2)
您可以使用grep -E
:
grep -E '^.{5}$' file
onion
bread
bacon
salsa
chips
或awk
:
awk 'BEGIN{FS=""} NF==5' file
onion
bread
bacon
salsa
chips
答案 1 :(得分:0)
$ sed -n '/^.....$/p' file
onion
bread
bacon
salsa
chips
或者:
sed -n '/^.\{5\}$/p' file
$ python -c $'for line in open("file"):\n if len(line)==6: print(line.rstrip())'
onion
bread
bacon
salsa
chips