Имя: Пароль:
IT
Админ
Поиск файлов и добавление в них строки (linux)
0 Пифко_с_рыбкой
 
09.04.14
13:47
Если кто хорошо знаком с linux подскажите...
Есть каталог, в нем куча подкаталогов и файлов.
Необходимо найти файлы с именем access и выполнить команду:
cat access | sed 's/^/./' >access.new
1 Пифко_с_рыбкой
 
09.04.14
13:48
какой командой это сделать?
2 vlandev
 
09.04.14
14:02
Надло курить find с ключом -exec
3 Пифко_с_рыбкой
 
09.04.14
14:45
(2) пробую разобраться но вот в чем загвоздка
команда: find /1 -type f -name access -exec sed -i 's/^/./' > access.new {} \;
находит все файлы и заполняет точками, но не создает новый.
Как это поправить?
4 Пифко_с_рыбкой
 
09.04.14
16:44
точнее создается один файл access.new и находится он в корне.
Необходимо на каждый найденый файл создать access.new в том же каталоге где был найден access
5 vlandev
 
09.04.14
16:54
-execdir попробуй , может в твоей версии линукса такой аргумент есть.
6 Asmody
 
09.04.14
17:02
что-то типа

find /1 -type f -name access | xargs -i {} sed -i 's/^/./' {} > {}.new
7 Йохохо
 
09.04.14
17:31
а так
-execdir command ;
Like -exec, but the specified command is run from the subdirectory containing the matched file
8 Йохохо
 
09.04.14
17:31
упс (5)
Независимо от того, куда вы едете — это в гору и против ветра!