2015-10-15 1 views
1

У меня есть структура каталогов, как показано на рисунке ниже. Может ли быть написан сценарий в Linux, который в основном проходит все под подкаталогами и добавляет строку текста в начале файла с расширением как .txtРедактирование всех похожих файлов в подкаталогах в linux за один выстрел

существует несколько папок, но у всех есть файл с расширением. TXT

enter image description here

ответ

2
find Root -type f -name '*.txt' -exec sed -i '1i\ 
line to insert 
' {} + 

команда find будет рекурсию из каталога Root, ищет имена файлов, которые соответствуют *.txt. Затем он выполнит команду sed, которая вставляет строку в начале файла.

+0

Стоит отметить, что для этой команды требуется GNU sed –

+0

Спасибо за помощь в бармаре. просто следить, если данные уже существуют, есть ли способ игнорировать запись в этот файл. – JhawarMayank

1

На всякий случай sed -i переключатель нет.

for file in `find Root -type f -name "*.txt"`; do sed '1i\ 
this is the line 
' $file > ${file}_new; done