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

У вас есть два варианта:

  1. не используйте параметр umountдля --lazy, если вам небезразлично, когда внешний диск можно безопасно отключить (и вас должно волновать ).
  2. запустите syncиз вашей оболочки и дождитесь возврата. Это, конечно, просто ручное выполнение того, что не---lazyumountделает автоматически... так что это не экономит время, а просто создает больше работы.
0
22.10.2019, 16:49
1 ответ

Хорошо, это немного грязно , но должно работать:

sed 's/\$\$API_JOB_ID=.*$/\$\$API_JOB_ID='"$(cat Source_file.txt)"'/' Target_file.txt

Если вы хотите напрямую отредактировать целевой файл, а не распечатывать измененную версию на своем терминале, используйте вместо этого:

sed -i 's/\$\$API_JOB_ID=.*$/\$\$API_JOB_ID='"$(cat Source_file.txt)"'/' Target_file.txt

Это грязно , в основном потому, что я делаю СЛИШКОМ МНОГО предположений о формате ваших файлов, и успех команды сильно зависит от этих предположений; если мы хотим сделать это правильно , нам нужно точно знать, какие предположения мы можем сделать, но ваше описание было довольно расплывчатым. Если вы считаете, что это может привести к сбою, потому что у вас могут быть другие форматы или более сложная структура в ваших файлах Source_file.txtи Target_file.txt, нам нужно знать об этом.

0
28.01.2020, 03:10

Теги

Похожие вопросы