텍스트 파일에서 숫자가 포함된 특정 줄을 제거합니다.

텍스트 파일에서 숫자가 포함된 특정 줄을 제거합니다.

여러 행의 데이터가 포함된 .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하도록 지시하는 것은 검색하려는 패턴이며 파일 이름입니다.sed1000542abc.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.

관련 정보