Вы можете использовать когда-либо POSIX-совместимый линейно-ориентированный текстовый редактор ex
для быстрого редактирования файлов на месте.
Это должно работать на Mac OS или на любых совместимых с POSIX оболочках. В вашем скрипте, предполагая, что вы хотите сделать это для каждого файла в папке, просто выполните скрипт ниже.
Вы должны быть внутри папки вашего желания перед запуском скрипта. Например, cd myFolder/
и запустите его:
Поскольку у вас есть несколько расширений файлов, как вы заявляете, вы можете использовать шаблон глобуса как *.txt*
#!/usr/bin/env bash
shopt -s nullglob
for file in *.txt*; do
ex -sc '1i|blablabla' -cx "$file"
done
Или, если вы работаете из родительской папки, вы можете изменить конструкцию цикла на
for file in myFolder/*.txt*; do
Как упоминалось на связанной странице, 1
выбирает первую строку файла, i|<text>
вставляет <text>
по вашему выбору, за которым следует символ новой строки, а x
закрывает файл.
Помните, что эта операция выполнена на месте означает, что вы не можете восстановить файл, который был изменен. Перед выполнением этой операции убедитесь, что вы абсолютно уверены в том, что текст замены необходимо сделать, или) сделайте резервную копию папки.