2014-04-07 2 views
-2
grep -o '\w\{4\}' file 

사용자가 제공 한 값보다 긴 단어를 찾고 싶습니다. 위의 코드는 적어도 4 글자로 된 단어를 제공하지만, 숫자를 n으로 읽은 후 $n으로 4를 대입하면 내 대괄호 사이의 내용이 잘못되었다고 표시됩니다. 미리 정의 된 값 대신에 읽은 값을 어떻게 사용할 수 있습니까?번호를 입력하여 사용하십시오.

+2

큰 따옴표를 사용하십시오. 작은 따옴표는 변수 확장을 방지합니다. – devnull

+0

사람들이 세부 사항을 묻지 않고 답변을 줄 수있을 때 명확하지 않은 이유는 무엇입니까? – Matt

답변

1

작은 따옴표를 사용하면 $n이 해석되지 않습니다.

grep -o "\w\{$n\}" file 

하지만 길이가 8-11의 다른 단어가 두 번 일치하기 때문에 당신이

grep -o "\w\{$n,\}" file 

을 사용하려는 생각, 12 ~ 15 세 번 등

: 당신이 따옴표를 사용하는 경우 그것은 작동
1
n=5 
eval "grep -o '\w\{$n\}' filename" 
+0

안녕하세요. SO! 추가 설명 텍스트를 제공하면 항상 대답이 향상됩니다. – cfi

관련 문제