2012-02-17 1 views
0

내가 특정 조건에 대한 하위 디렉토리에 파일을 구문 분석하고 무언가를 수행 할 수있는 작업이 xargs는, 그래서 잘 작동하고 다음과 같습니다 코드가 있습니다사용 테스트는 내부

cat FILENAME | grep -qe 'condition'; \ 
    test $? -ne 0 && echo -ne '\n add condition to file \n'>>FILENAME 

, 나는 시도 test $? -ne 0 내부 xargs를 항상 실제 그렙 결과 despites, 참으로 평가하는 것이

git grep -e "condition" | awk -F : 'BEGIN {} { print $1 } END {}'| sort| uniq |\ 
    xargs -I {} -i bash -c "cp {} {}.updated; echo -ne 'Processing: {}\n'; \ 
    cat {}.updated | grep -qe 'condition'; \ 
    test $? -ne 0 && echo -ne '\n add condition\n' >>{}.updated; \ 
    mv {} {}.backup; mv {}.updated {}; echo -ne ' End\n';" 

문제 : xargs를 문이를 사용하는 나는 몇 가지 문제가있다.

+2

'고양이 파일 | grep -qe 조건; $를 시험해 보라. -ne 0 &&'는 미쳤다. 'grep -qe condition file &&'를 대신 사용하십시오. – Sorpigal

+0

고마워, 나는 그것을 사용하고 있었지만 명령이 작동하지 않을 때, 나는 그것을 실험하기 시작했다. – Vestel

답변

3

$를 변경해보십시오. ~ $?

배쉬는 아마도 $을 (를) 평가할 것입니까? 조기에

+0

또는'-c'에 전달 된 스크립트 문자열을 단일 인용 부호로 묶으십시오. – Sorpigal