IP와 포트 번호가 포함된 파일이 있습니다. 포트 번호를 제거하고 IP를 유지하고 싶습니다.
xyz 10.93.10.13:58160).
xyz 10.93.10.13:58161).
xyz 10.18.104.181:12466).
xyz 10.93.10.13:60585).
wxy 10.93.10.13:60586).
wxy 10.93.10.13:60587).
ADMIN loopback[127.0.0.1]:33955).
ADMIN loopback[127.0.0.1]:33957).
ADMIN loopback[127.0.0.1]:33961).
ADMIN loopback[127.0.0.1]:33962).
예상 출력
xyz 10.93.10.13
xyz 10.93.10.13
xyz 10.18.104.181
xyz 10.93.10.13
wxy 10.93.10.13
wxy 10.93.10.13
ADMIN loopback[127.0.0.1]
ADMIN loopback[127.0.0.1]
ADMIN loopback[127.0.0.1]
ADMIN loopback[127.0.0.1]
형편없는 프로그램을 시도했지만 작동하지 않았습니다.
cat 1.txt|grep -v [:12312]
감사해요
답변1
첫째, 쓸모없는 사용 cat
. 둘째, grep
그냥 검색해도 아무런 변화가 없습니다. 당신은 여기를 원합니다 sed
:
$ sed -E 's/:[0-9]+.*/ /' input
xyz 10.93.10.13
xyz 10.93.10.13
xyz 10.18.104.181
xyz 10.93.10.13
wxy 10.93.10.13
wxy 10.93.10.13
ADMIN loopback[127.0.0.1]
ADMIN loopback[127.0.0.1]
ADMIN loopback[127.0.0.1]
ADMIN loopback[127.0.0.1]
답변2
sed 's/\(.*\):.*/\1/' filename
그러면 문제가 해결될 것입니다. 콜론 앞의 모든 항목과 일치하고 이를 대체 항목으로 반환합니다.