Estou tentando fazer uma substituição simples para um script de endereço IPv4.
sed "s/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/192.100.100.100/g"
Isso é o que eu tenho. Conforme indicado no título, estou recebendo um comando 's' não terminado.
Editar: estou executando no Windows, conectando-me a uma máquina Unix através de ssh.
Eu originalmente tinha:
sed 's/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/192.100.100.100/g'
Mas mudei de aspas simples para aspas duplas porque algo pode não ter sido lido conforme planejado e isso pode estar causando meu erro. Eu testei e ainda assim os resultados permaneceram os mesmos "comando 's' não terminados".
Qualquer idéia ou conselho seria ótimo!
Roteiro completo
#!/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"
Exemplo de entrada de arquivo:
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]
Responder1
Seu script é um sed
script, não um script de shell. Portanto, você não precisa colocar sed
no início da linha ou colocar aspas nos comandos. Altere para:
#!/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