포맷하려면 sed 또는 awk

포맷하려면 sed 또는 awk

아래에 이름이 지정된 일련의 연락처 번호가 포함된 텍스트 파일이 있습니다.

   sam=12345,john=98765,bruce=67890,jack=54321,nick=23456,noah=67894,vision=65432,thor=98768,tony=89769,cap=90878

특정 연락처를 삭제하고 싶어요. 연락 가능한 전화번호를 입력할 수 있습니다. "sed"를 사용하면 연락처 번호를 공백으로 바꾸는 방법만 알 수 있습니다.sed 's/23456//g' new.txt"하지만 이름은 여전히 ​​존재합니다. 아래와 같이 Nick의 이름으로 인해 백엔드에서 오류가 발생합니다.

샘=12345, 존=98765, 브루스=67890, 잭=54321,닉 =, 노아=67894, 팬텀=65432, 토르=98768, 토니=89769, 상한=90878

위와 같이 막혀있습니다. 숫자만 입력하여 형식(이름=번호, 이름=번호 등)을 변경하지 않고 이름과 함께 제거하고 싶습니다.

답변1

이것은 무엇을 하는가 search for the identifying number preceeded by a string that has neither commas nor equal signs [in other words, their name] followed by and equal and replace all with nothing?

sed -r 's/[^,=]+=23456(,|$)//' new.txt
sam=12345,john=98765,bruce=67890,jack=54321,noah=67894,vision=65432,thor=98768,tony=89769,cap=90878

관련 정보