저는 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"