Kopieren Sie einen Teil einer Zeile aus einer Datei und hängen Sie ihn mit zusätzlichen Texten an eine andere Datei an

Kopieren Sie einen Teil einer Zeile aus einer Datei und hängen Sie ihn mit zusätzlichen Texten an eine andere Datei an

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.txtan File2.txt. Der Geheimcode ist das, was .*übereinstimmt und von reproduziert wird \1.

verwandte Informationen