Скопировать часть строки из одного файла и добавить в другой файл с дополнительным текстом

Скопировать часть строки из одного файла и добавить в другой файл с дополнительным текстом

У меня есть небольшая потребность в скрипте bash, который копирует часть строки из файла, а затем добавляет ее в другой файл с некоторым дополнительным текстом (содержащим другую переменную).

Пример

Файл1.txtсодержание

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

Поэтому мне нужно скопировать только секретный код, а затем вставить его в другой файл.

Файл2.txt

secret code of user xxxxxxxxxxx is saved

Я новичок как в Linux, так и в написании скриптов, поэтому буду очень признателен за любую помощь.

Также, пожалуйста, дайте мне знать, если мой вопрос непонятен.

решение1

Попробуйте этот sed:

sed -n 's|Your new secret key is: \(.*\)|secret code of user \1 is saved|p' File1.txt >> File2.txt

Он добавляет секретный код в File1.txt. File2.txtСекретный код — это то, что .*совпадает и воспроизводится \1.

Связанный контент