Еще одна незавершенная команда '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, подключаюсь к машине Unix через ssh.

Изначально у меня было:

 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

Связанный контент