sed - IP 옥텟과 일치하고 줄 삭제

sed - IP 옥텟과 일치하고 줄 삭제

숫자 조합을 포함하는 IP 옥텟과 일치하고 줄을 삭제할 수 있는 솔루션(가급적이면 sed)이 필요합니다. 예를 들어:

내 파일:

 192.168.100.12
 192.168.200.12
 10.10.20.10
 10.10.30.20

10.10.20.x 서브넷에서 발견된 IP가 포함된 행을 제거하고 삭제해야 합니다. 따라서 파일에 10.10.20.10, 20.11, 20.12 등이 포함되어 있으면 모두 삭제됩니다. 인라인 교체도 필요합니다.

내가 시도한 것:

sed -i '/10\.10\.20\.\([0-9]\{1,3\}\)/d' file

이:

sed -i '/10.\.10\.20\.*\([0-9]\{1,3\}\)*/d' file​

그러나 둘 다 작동하지 않습니다. 명령은 오류 없이 완료되지만 해당 행은 여전히 ​​파일에 남아 있습니다. 나는 또한 awk와 같은 다른 솔루션에도 열려 있습니다.

답변1

GNU sed 사용:

sed -i '/10\.10\.20\.[[:digit:]]\{,3\}/d' file

BSD sed를 사용하려면 sed -i ''.

관련 정보