특정 줄에서 문자열 제거

특정 줄에서 문자열 제거

파일의 특정 줄에 쉼표로 구분된 값을 추가하는 스크립트를 작성해야 합니다.

내용이 포함된 파일이 있다고 가정해 보겠습니다.

DL1 : [email protected],[email protected],[email protected]
DL2 : [email protected],[email protected],[email protected]

[email protected]이제 DL1에서 제거 해야 합니다 .

답변1

관련 포스팅과 동일한 패턴입니다

sed '/^DL1 :/ s/,[email protected]//' file

이는 로 시작하는 줄에서 아무것도 대체하지 않습니다.,[email protected]DL1 :

답변2

진주:

perl -lpe 'if (/^DL1 :/) {s/,?xyz\@kk\.com//; s/: \K,//}' file

AWK:

awk '/^DL1 :/ {sub(/,?xyz@kk\.com/,"");sub(": ,",": ")} 1' file

sed:

sed -E '/^DL1 :/ s/,[email protected]//; /^DL1 :/ s/: ,/: /' file

노트:

이는 CSV 파일의 성격 변화를 조작하는 데 가장 적합한 도구가 아닐 수 있습니다. 데이터 소스와 해당 용도에 대해 더 많은 맥락을 추가하는 것이 좋습니다.

관련 정보