IPv4 주소 스크립트를 간단하게 대체하려고 합니다.
sed "s/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/192.100.100.100/g"
이것이 내가 가진 것입니다. 제목에 명시된 대로 종료되지 않은 's' 명령을 받았습니다.
편집: 저는 Windows에서 실행 중이며 SSH를 통해 Unix 시스템에 연결하고 있습니다.
원래 가지고 있던 것 :
sed 's/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/192.100.100.100/g'
하지만 의도한 대로 읽히지 않은 내용이 있어서 오류가 발생했을 수 있기 때문에 작은따옴표에서 큰따옴표로 변경했습니다. 나는 그것을 테스트했지만 결과는 여전히 "종료되지 않은 's' 명령"과 동일하게 유지되었습니다.
어떤 아이디어나 조언이라도 좋습니다!
전체 스크립트
#!/bin/sed -f
#sed 's/[^@ ]*@[^@]*\.[^@ ]*\.[^@]*/[email protected]/g'
#sed 's/[^@]*\.[^@]*\.[^@]*/example.com/g'
sed "s/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/192.100.100.100/g"
예제 파일 입력:
From: Mail System Internal Data <[email protected]>
Subject: DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA
X-IMAP: 1322061792 0000000000
Status: RO
Email message goes here.
From [email protected] Tue Nov 22 15:24:01 2011 -0500
Status: R
X-Status:
X-Keywords:
Return-Path: <[email protected]>
X-Original-To: [email protected]
Delivered-To: [email protected]
답변1
귀하의 스크립트는 sed
쉘 스크립트가 아닌 스크립트입니다. 따라서 sed
줄의 시작 부분에 넣거나 명령 주위에 따옴표를 넣을 필요가 없습니다 . 다음으로 변경하세요.
#!/bin/sed -f
s/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/192.100.100.100/g