Ich muss ein Wort in der Zeile oder URL ersetzen, aber ich muss es über die Befehlszeile / das Terminal tun.
ich meine
$ ./myscript.sh xxx.xxx.xxx.xxx:8080/code -c code1 -t query
Und von dort, ohne zurück, ich brauche zu ersetzen code1
mit mycode
oder einer anderen Zeichenfolge.
bash
command-line
rɑːdʒɑ
quelle
quelle
b
?echo http://xxx.xxx.xxx.xxx/a/b/b/c/d/e | sed 's/b/c/g'
? Bitte sagen Sie, was Sie tun möchten, führen Sie einen Befehl aus, rufen Sie ein Programm auf, das diese URL erreicht, ändern Sie einen Variablenwert ...?!?Antworten:
Ich habe Ihr Skript umbenannt, aber hier ist eine Option:
Verwenden Sie nach dem Ausführen des Skripts:
... was in ... resultiert:
man bash
und suchen Sie nach "Event Designators":Bearbeiten, um globalen Ersatz hinzuzufügen, was ich gerade aus der Antwort von @ slm unter https://unix.stackexchange.com/a/116626/117549 gelernt habe :
was sagt:
quelle
^logfile1^logfile2
nur Änderungen vorgenommen, die nur beim ersten Match angewendet wurden, aber nicht global bei gzip. Bitte helfen Sie. Vielen Dank.!!
, um den vorherigen Befehl in seiner Gesamtheit unverändert zu wiederholen, aber fast alles, was damit beginnt,!!:
kann auf verkürzt werden!:
. zB ,!:gs/string1/string2
.^
Syntax funktioniertzsh
auch. Nur für die Nachwelt dokumentieren.^foo^bar^:G
für globales Suchen und Ersetzen.