Я пытаюсь запустить цикл for, который заменит строки в файлах, переданных в виде списка.while loop on list with spaces
Пример:
Filename1
Filename2
File name3
File name4
Мой текущий код:
for i in `grep -Rl 'OLD' *`; do
> perl -pe 's/OLD/NEW/g' -pi "$i"
> done
Can't open File: No such file or directory.
Can't open name3: No such file or directory.
Can't open File: No such file or directory.
Can't open name3: No such file or directory.
Can't open File: No such file or directory.
Can't open name4: No such file or directory.
Спасибо!
Это будет иметь проблемы с именами файлов, содержащими символ новой строки. (Но кто ставит новую строку в имени файла? Те же люди, которые помещают пробелы в имена файлов!) –