2014-12-02 6 views
0

, 전체 문은 큰 따옴표로 묶여그렙 -v 우리는 상태 코드의 일부가

"diff file1 file2 | /usr/bin/grep -v "#" | /usr/bin/grep ^\> | /usr/bin/awk '{print $3}' | /usr/bin/xargs mkdir" 

(인 응용 프로그램 구문의 요구 사항)를 쿼리합니다. 응용 프로그램이이 단계에 도달하면 grep 오류가 발생합니다. 이 명령문은 명령 행에서 잘 작동합니다. 그러나 응용 프로그램을 통해 grep에 오류가 발생합니다. 그렙 [OPTION] ... PATTERN [FILE] ... 자세한 내용은

시도`그렙 --help '

사용.

첫 번째 grep인지 두 번째 grep인지 확실하지 않습니다.

답변

0

큰 따옴표에 문제가있는 것 같습니다. 첫 번째 grep을 /usr/bin/grep -v '#'으로 변경하고 두 번째 grep을 /usr/bin/grep '^>'

+0

그게 .....이 방법으로 작동했습니다. 제안 해 주셔서 감사합니다. – user3615834

+0

환영합니다 :) –

0

>을 사용중인 "리디렉션"으로 변경하십시오.

예를 들어 당신이 할 경우

grep ^>output 

모든 출력은 파일 output에 저장됩니다. 이 같은 감소시킬 수있다, 모든 grep의주의 그런데

"diff file1 file2 | /usr/bin/grep -v "#" | /usr/bin/grep "^>" | /usr/bin/awk '{print $3}' | /usr/bin/xargs mkdir" 
                 ^^ 

: 당신이 찾고있는 패턴으로 해석되도록

그래서 당신이해야 할 일을 ^>을 인용하는 것입니다

diff file1 file2 | awk '/#/ || /^>/ {print $3}' | /usr/bin/xargs mkdir 
         ^^^ ^^ ^^^^ 
      either contains # | | 
          or starts with > 
+0

감사하지만 다른 의견은 문제를 해결 한 것입니다. – user3615834

+0

글쎄,이 경우에는 더블 쿼터에서 싱글 쿼트로 변경하는 것이 의미가 없지만 ... – fedorqui