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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.