2016-03-25 6 views
0

Ich versuche send "sed -e\'s/%\([0-9A-F][0-9A-F]\)/\\\\\x\1/g\' test_log" aus dem Laich auszuführen, aber es mir diesen Fehler zu werfen:Fehler beim ‚sed‘ von Laich ruft

bash-4.1$ invalid command name "0-9A-F" 
while executing 
"0-9A-F" 
invoked from within 
"send "sed -e\'s/%\([0-9A-F][0-9A-F]\)/\\\\\x\1/g\' test_log"" 
(file "./test.sh" line 19) 

ich \ auch für Escape-Zeichen in sed hinzugefügt haben, aber es immer noch funktioniert nicht.

Was fehlt mir hier?

+0

'send',' spawn' verwenden nicht entkommen? – Cyrus

+0

@Cyrus: Ja, ich benutze dies in einem Skript mit Spawn. –

Antwort

0

Sie das Apostroph in sed
heißt

sed -e's/%\([0-9A-F][0-9A-F]\)/\\\\\x\1/g' test_log 

und nicht

sed -e\'s/%\([0-9A-F][0-9A-F]\)/\\\\\x\1/g\' test_log 
+0

Funktioniert immer noch nicht. Derselbe Fehler. ungültig Befehlsnamen "0-9A-F" während "0-9A-F" aus "Senden" sed -e/das% \ ([0-9A-F] aufgerufen Ausführung [0-9A- F] \)/\\\\\ x \ 1/g 'test_log "" (Datei "./fetch_log.sh" Zeile 19) –

Verwandte Themen