|
Поиск файлов и добавление в них строки (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)
|
|