Как удалить строку в файле, найденном в нескольких каталогах
В каждом каталоге профиля пользователя есть файл, и мне нужно удалить строку из файла в каждом каталоге профиля пользователя. Я использую пакетный скрипт, чтобы пройти через каждый каталог профиля пользователя, ввести файл, использовать findstr, чтобы не отображать строку, а затем перенаправить вывод на себя. По какой-то причине это не удаление строки.
SET ProfileBase=%SystemDrive%\Documents and Settings
for /f "tokens=*" %%a in ('dir /b /ad-h "%ProfileBase%"') do type "%ProfileBase%\%%a\myfile" | findstr /v display >> :%ProfileBase%\%%a\myfile"
1 ответ
Использует Win32 версии sed
а также find
вне вопроса? Те могли бы легко сделать это *. Также стоит взглянуть на PowerShell.
*)find /path/to/files -type f -iname 'filename' -execdir sed -i -e '/^exact line you want to disappear$/d' {} \;