특정 일치 후에만 파일에서 텍스트 제거

특정 일치 후에만 파일에서 텍스트 제거

여러 문자열이 포함된 파일이 있는데 특정 일치 항목을 사용하여 해당 문자열 중 하나만 제거해야 합니다. 이 작업을 수행하는 좋은 방법을 찾을 수 없는 것 같습니다.

sed -i "s/|item2//g"

파일 형식:

 "1234567890|item2",
 "1234567895|item2",
 "3454343345|item1|item2",
 "7854343345|item1|item3",
 "0454343555|item1|item4|item6",

내가 해야 할 일은 첫 번째 숫자 집합 3454343345를 일치시킨 다음 item2와 같은 특정 문자열을 제거하는 것입니다.

내가 얻고 싶은 결과물

 "1234567890|item2",
 "1234567895|item2",
 "3454343345|item1|",
 "7854343345|item1|item3",
 "0454343555|item1|item4|item6",

답변1

이 시도,

 sed -e '/^"3454343345/ s/item2//' file

"1234567890|item2",
"1234567895|item2",
"3454343345|item1|",
"7854343345|item1|item3",
"0454343555|item1|item4|item6",
  • 출력이 원하는 결과와 일치하면 -e인라인 편집을 위해 로 바꾸십시오.-i

관련 정보