LINUX.ORG.RU

как сделать так, чтобы...


0

0
автоматом поменять во всех юзерских папках в /home содержимое файла с одинаковым именем на другое содержимое (заменить часть строки на другое содержимое)
в файле только одна строчка.

спасибо.
возможно применить sed, awk, perl.
anonymous
Ответ на: комментарий от cvv
здорово, спасибо!

тока права у файлов меняются на root:root, а надо чтобы сохранялись типа vasya:users
как пофиксить?
anonymous
()
Ответ на: комментарий от anonymous
возможно так

$pushd /home
$for i in ./*;do su $i -c "sed -i 's/xxx/yyy/' $i/filename"; done
$popd

вариант не единственный, подумай мож ещё что-то придумаеш
cvv ★★★★★
()
Ответ на: комментарий от cvv
огромное спасибо за правильное направление!

через su не пойдет, ибо прав не хватит для манипуляций с файлом, и в переменной $i будет находиться значение ./vasya

рабочий вариант:

#!/bin/sh

pushd /home
for i in *; do sed -i 's/xxx/yyy/' $i/filename; chown $i:users $i/filename; done
popd

СПАСИБО :)
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.