awk를 사용하여 파일에 레코드 추가

awk를 사용하여 파일에 레코드 추가

저는 awk를 사용하여 여러 .csv 파일을 읽고 조건을 사용하여 해당 파일의 레코드를 다른 csv 파일로 필터링하는 다대일 필터링을 수행하고 있습니다. 명령은

awk -F, '{if($1=="OPTSTK"&&$13>0)print > "stockoptions.csv";}' fo1.csv fo2.csv

이 명령은 새로운 csv 파일 세트(예: fo3.csv 및 fo4.csv)에 대해 이 명령을 실행할 때 이전 명령 실행의 출력을 덮어쓰는 점을 제외하고는 나를 위해 작업을 수행합니다. 명령의 첫 번째 실행 출력에 후속 실행 출력을 추가하는 방법이 있습니까?

답변1

예, >>대신 사용하세요 >.

예를 들어:

awk -F, '$1 == "OPTSTK" && $13 > 0 { print >> "stockoptions.csv" }' fo1.csv fo2.csv

또는 쉘이 리디렉션을 수행하고 명령을 줄이도록 합니다 awk.

awk -F, '$1 == "OPTSTK" && $13 > 0' fo1.csv fo2.csv >>"stockoptions.csv"

관련 정보