Замените заголовок файла другим

#bash

#bash

Вопрос:

Я хочу заменить заголовок файла в шестнадцатеричном формате (512 первых байт) другим заголовком из файла и добавить хвост из другого файла. Я новичок, но я знаю, как вырезать заголовок с помощью xxd и я знаю, как объединить текст с помощью cat , но я не понимаю, как заставить две команды работать вместе.

 cat new_head xxd -s 512 file_to_modify cat new_tail > new_file
  

Я знаю, что код глупый, но я пробовал несколько других вещей, и эта, вероятно, легче понять, чего я пытаюсь достичь.

Ответ №1:

Использование группировки команд:

 { cat 'new_head'; tail -c  513 'file_to_modify'; cat 'new_tail'; } > 'new_file'
  

Или замена процесса:

 cat 'new_head' <(tail -c  513 'file_to_modify') 'new_tail' > 'new_file'