끝나지 않은 또 다른 's' 명령

끝나지 않은 또 다른 's' 명령

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

관련 정보