특정 숫자만 포함된 경우 sed를 사용하여 전체 줄을 삭제하세요.

특정 숫자만 포함된 경우 sed를 사용하여 전체 줄을 삭제하세요.

txt 파일이 있어요

123
456
789
456
123456

파일에서 특정 문자(예: (123))를 제거하고 싶습니다. 나는 전에 시도했다

$ sed -i '/123/d' dummy.sh
$ vi dumm.txt
456
789
456

아래 명령을 실행하면 ( 123및 ) 단어가 모두 제거되는데 파일에서만 제거 123456하면 됩니다.123

$ sed -i 's/123//g' dummy.sh
$ vi dumm.txt
456
789
456
456

다음 명령을 실행하면 123null로 대체됩니다.

특정 숫자만 포함된 행 전체를 삭제하는 방법을 알려줄 수 있는 사람이 있나요?

답변1

전체 줄을 삭제하려고 하는지 123아니면 빈 줄로 바꾸려고 하는지 확실하지 않습니다. 어쨌든 패턴에 ^선의 시작과 끝 부분에 앵커 포인트를 추가하기 만 하면 됩니다.$

sed -i '/^123$/d' dummy.sh      #delete whole line
sed -i 's/^123$//' dummy.sh     #replace with empty line

관련 정보