2010-12-08 4 views

답변

3

주셔서 감사합니다,하지만 쉘 (bash는/zsh을/...)에 따라, 당신은 공정 대체를 사용할 수 있습니다 :

cat <(awk ...) file3 > file4 
+0

의견을 테스트했습니다. 그것은 잘 작동합니다. 많은 양의 출력이 있고이를 저장할 수있는 충분한 디스크 공간이 없기 때문에 이것을 아는 것이 편리합니다. 건배 – Tony

+0

서브 쉘을 사용할 필요는 없으며, 현재 쉘에서 명령을 그룹화하기 위해 중괄호를 사용하십시오 :'{awk '...'; 고양이 파일 3; }> file4' (뒷부분의 세미콜론과 중괄호 주위의 공백이 필요합니다) –

0

내가 @Peter's answer를 선호 서브 쉘을 사용할 수 있습니다 당신의 도움이

0

또한 사용할 수 있습니다 단지 awk는 :

awk FNR file1 file3> file4 

file1 concenate 및 file3 그리고 당신은 서브 쉘없이 그것을 할 수 file4

+0

그런 점에서'NFR'을'1'로 바꿀 수 있습니다. 그러나 file1을 처리하지 않고'cat'이하는 일을 정확히 수행하고 있습니다. –

0

에 저장됩니다 것조차

awk '...{print}' file1 | cat - file3 > file4 

또는 : 원인이됩니다

awk 'FNR!=NR {print;next} ... {do_stuff}' file1 file3 > file4 

은 파일 1로 do_stuff에 의해 처리되고 file3은 곧바로 전달됩니다.

관련 문제