匹配所需长度的字典样式文件中的所有字符串

时间:2015-02-18 19:05:27

标签: bash python-2.7

我有一个单词列表,全部用新行分隔:

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的那些,但想要那些特定行的内容。

2 个答案:

答案 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

$ sed -n '/^.....$/p' file
onion
bread
bacon
salsa
chips

或者:

sed -n '/^.\{5\}$/p' file

使用Python

$ python -c $'for line in open("file"):\n   if len(line)==6: print(line.rstrip())'
onion
bread
bacon
salsa
chips