grep -o '\w\{4\}' file
我想找到比用户给出的值更长的单词。现在,上面的代码给了我至少4个字母的单词,但如果我在将数字读入n后用$n
替换4,则表示括号之间的内容不正确。我怎么能使用读取值而不是预定值?
答案 0 :(得分:1)
n=5
eval "grep -o '\w\{$n\}' filename"
答案 1 :(得分:1)
使用单引号,$n
将不会被解释。如果你使用双引号就可以了:
grep -o "\w\{$n\}" file
但我认为你会想要使用
grep -o "\w\{$n,\}" file
因为长度为8-11的单词会匹配两次,12-15次会等三次。