Предположим, у меня есть папка со многими php-файлами, а некоторые из этих php-файлов имеют строку, содержащую определенное слово, i нужна команда линукс строку, которая найти все файлы, которые имеют, что строки (который содержит определенное слово) и заменить, что линии с другим словом , например:замените все строки, которые содержат определенное слово с новым словом во всех файлах PHP в папке
$source = $_FILES['fupload']['tmp_name'];
$target = "upload/".$_FILES['fupload']['name'];
move_uploaded_file($source, $target);// or die ("Couldn't copy");
$size = getImageSize($target);
в коде выше, который является частью файла PHP, предположим, это конкретное слово «fupload», и мы хотим заменить эту строку «эхом» после запуска командной строки Linux, она становится такой:
echo
$target = "upload/".$_FILES['fupload']['name'];
move_uploaded_file($source, $target);// or die ("Couldn't copy");
$size = getImageSize($target);
, и этот процесс выполняется для всех файлов phph, которые имеют эту ситуацию.
Я нашел этот код, но этот код удаляет только строки, которые содержат определенное слово, но мне нужно, чтобы заменить все из этих линий с другим словом:
find /var/www/website -type f -exec sed -i '/$vjfegamd/d' {} ';'
Вы хотите заменить каждый экземпляр 'fupload', потому что технически' $ target' также следует заменить? – bc2946088
Что делать, если на вашем входе появился 'fuploaded' - будет ли эта строка также заменена? Может ли «слово», которое вы ищете, содержать метасимволы regexp или нет? Может ли он содержать неалфавитные символы (и если да, то как вы определяете «слово»)? –