Ich habe eine kleine Anforderung an ein Bash-Skript, das einen Teil der Zeile aus einer Datei kopiert und ihn dann mit etwas zusätzlichem Text (der eine andere Variable enthält) an eine andere Datei anhängt.
Beispiel
Datei1.txtInhalt
Warning: pasting the following URL into your browser exposes the OTP secret to Google:
https://www.google.com/chartxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Your new secret key is: xxxxxxxxxxxxxxxxxxxxxx
Your verification code is xxxxxx
Your emergency scratch codes are:
xxxxxxxx
xxxxxxxx
xxxxxxxx
xxxxxxxx
xxxxxxxx
Ich muss also nur den Geheimcode kopieren und ihn dann in eine andere Datei einfügen
Datei2.txt
secret code of user xxxxxxxxxxx is saved
Ich bin neu bei Linux und im Scripting, daher wäre ich für jede Hilfe diesbezüglich sehr dankbar.
Lassen Sie es mich bitte auch wissen, wenn meine Anfrage unklar ist.
Antwort1
Versuchen Sie dieses sed:
sed -n 's|Your new secret key is: \(.*\)|secret code of user \1 is saved|p' File1.txt >> File2.txt
Es hängt den Geheimcode an File1.txt
an File2.txt
. Der Geheimcode ist das, was .*
übereinstimmt und von reproduziert wird \1
.