Как записывать данные по одному из файлов tmp в конечный выходной файл, используя для цикла?

У меня есть два файла tmp с именем tmp1 и tmp2 который содержит некоторые строки.
tmp1 файл,

 1c\ datafile no. 23 2c\ datafile is ok 

tmp2 файл,

 3c\ datafile no. 24 4c\ datafile is ok 

У меня есть файл (с именем wrong_file ), какие записи я хочу исправить из файлов tmp

 datafile no. 32 datafile is ok datafile no. 42 datafile is ok 

Мой выходной файл ( modified_file ) будет похож,

 datafile no. 23 datafile is ok datafile no. 24 datafile is ok 

Я хочу использовать цикл, который будет работать до последнего tmp-файла и записывать данные из файлов tmp в конечный файл (Output), вместо этого выполняя его вручную.

Я пытался,

 sed -f tmp1 wrong_file > file1 sed -f tmp2 file1 > modified_file 

One Solution collect form web for “Как записывать данные по одному из файлов tmp в конечный выходной файл, используя для цикла?”

Я уверен, что вы можете просто сделать:

 cat ./tmp[12] | sed -f - ./wrong_file >outfile 

По крайней мере, это не вызовет никаких проблем, если все инструкции скрипта sed специфичны для номера строки. Нет необходимости применять скрипты отдельно – вы можете объединить их все вместе и запустить сценарий сразу.

То, что вы должны сделать это вообще, указывает на дублируемую работу. Вот копия sed скрипта, которая во избежание записи любого из этих tempfiles в первую очередь и просто сканирует вход для строк, которые нуждаются в изменении, прежде чем передать весь скрипт в потоке до последнего sed за один раз:

 { sed '/^#\.tid\.setnr/!d;=;g;G' | paste -d'c\\\n' - - - ./addfile } <./mainfile | sed -f - ./mainfile 

Его выход не идентичен данным примера, поскольку он предназначен для образцов, которые вы предоставили в другом вопросе . Но это позволяет вообще не записывать сценарии модификации и посылает все команды редактирования в sed процесс, который может немедленно принять меры.

В общем, вы можете подумать, что sed процесс так же готов обработать свой ввод скрипта всеми способами, в которых он также может быть готов обрабатывать входные данные для редактирования.

  • Заменить первый столбец файла с помощью вывода команды
  • Удалить строку, если два шаблона найдены в одной строке
  • Удаление цветовых кодов из вывода
  • Добавить и выписать файл с переменными именами из списка переменных
  • замените блок текста содержимым файла
  • Найти файлы, для которых несколько вариантов этого имени файла существуют вместе в одном каталоге
  • Как получить «\» вместо «» после замены sed?
  • Awk удалить поле, только если числовое
  • как удалить все двойные кавычки из csv за исключением определенного поля
  • Sed / awk / perl: порядок реверсирования значений, разделенных запятыми, сохранение другого текста
  • Свернуть несколько повторяющихся частей последовательных строк
  • Linux и Unix - лучшая ОС в мире.