
여러 줄의 데이터가 있는 .csv 파일이 있습니다. 문자열/레코드에서 특정 값을 검색하고 해당 줄 자체를 삭제해야 합니다.
예를 들어:
abc.csv
col1_id,col2,col3,col4,col5
1000541,aaaa,bbbb,cccc,dddd
1000542,eeee,ffff,gggg,hhhh
1000543,iiii,jjjj,kkkk,llll
1000544,mmmm,nnnn,oooo,pppp
1000542를 검색하고 해당 숫자가 포함된 전체 줄을 제거해야 합니다.
col1_id,col2,col3,col4,col5
1000541,aaaa,bbbb,cccc,dddd
1000543,iiii,jjjj,kkkk,llll
1000544,mmmm,nnnn,oooo,pppp
답변1
sed
한 줄을 제거하는 데 사용할 수 있습니다 .
sed -i '/1000542/d' abc.cvs
여기서 d
행을 제거하고 수정된 텍스트를 출력하는 대신 파일에 대해 작업을 수행하도록 -i
지시하는 것은 검색하려는 패턴이고 파일 이름입니다.sed
1000542
abc.cvs
답변2
awk를 사용할 수도 있습니다.
awk '/1000542/ {next}1' infile > outfile
예:
$ awk '/1000542/ {next}1' file
col1_id,col2,col3,col4,col5
1000541,aaaa,bbbb,cccc,dddd
1000543,iiii,jjjj,kkkk,llll
1000544,mmmm,nnnn,oooo,pppp
1000542
인쇄에서 포함된 줄을 건너뜁니다 .