Нужно перебрать список файлов и добавить текст в первую строку файлов в списке в системе Linux CentOS

0

Мне нужно иметь возможность добавить текст <?php к началу php файлов в списке.

supernix
источник
1
Вы спрашиваете код PHP? что ты уже испробовал?
Karan
Извините, пришлось изменить текст, но не удалось распечатать все после строки & lt;? Php, пока я не добавил к нему несколько обратных ссылок. Большая часть исследований, которые я изучал в Интернете, проводится с помощью sed или awk, и один из примеров был на PERL. Я не слишком сосредоточен на том, какой язык использовать, пока я могу решить эту проблему. Было бы неплохо, если бы Clam AV мог исправить эту инфекцию.
supernix
1
Также было бы неплохо, если бы в вашем вопросе говорилось, какая ОС. , , Похоже, что реальная задача, которую вы хотите сделать, это добавить строку текста в начале нескольких файлов, и у вас есть список имен файлов, которые вы хотите изменить. Это верно?
ernie
Это правильно. В теме есть ОС, это установка CentOS Linux. Да, текстовый файл имеет расположение папки и имя файла в построчном формате. Я запустил скрипт очистки для очистки кода eval base64 из файлов, затем он создал текстовый файл с файлами, которые были очищены, единственная проблема заключалась в том, что он не помещал <?php обратно в начало файлов это исправлено.
supernix

Ответы:

0

Вы говорите «добавить текст <?php », но я думаю, что вы имеете в виду« готовиться ».

Может быть, я неправильно понял вопрос, но это должно решить вашу проблему:

for FileName in * ; do (echo "<?php" ; cat $FileName) > corrected_$FileName ;done

Это создаст группу файлов с одинаковыми именами, за исключением префикса «corrected_». Если вы хотите изменить сами файлы, то вы можете сделать это:

for FileName in * ; do (echo "<?php" ; cat $FileName) > /tmp/corrected ; mv -f /tmp/corrected $FileName ;done

... но будь уверен, что ты этого хочешь.

Philip Kearns
источник