LINUX.ORG.RU

Как передать из find в xargs имена файлов с пробелами?


0

0

Здравствуйте!

Нужно мне поменять условный идентификатор пользователя и группы (c 1000 на 500) для всех файлов в определенном каталоге и его подкаталогах.

Я использую такие команды:

find /home/xi/directory -uid 1000 -print | xargs chown -c 500
find /home/xi/directory -gid 1000 -print | xargs chgrp -c 500

Проблема в том, что такие команды спотыкаются на файлах, в которых есть пробелы.

Вопрос. Как изменить эти команды, чтобы были нормально отработались файлы, в именах которых есть пробелы?


find /home/xi/directory -uid 1000 -print0 | xargs -0 chown -c 500

ман читать иногда полезно, у xargs он небольшой и понятный

nu11 ★★★★★
()

find /home/xi/directory -uid 1000 -exec chown -c 500 «{}» \;

ananas ★★★★★
()

chown -R -c 500 /home/xi/directory
chgrp -R -c 500 /home/xi/directory
Или нужно только 1000-ные файлы?

AITap ★★★★★
()
Ответ на: комментарий от nu11

> ман читать иногда полезно, у xargs он небольшой и понятный

Ман у xargs такой, что непонятно зачем вообще эта программа нужна и что она делает.

xintrea
() автор топика
Ответ на: комментарий от xintrea

непонятно зачем вообще эта программа нужна и что она делает.

«Комплектовать и выполнять команды со стандартного ввода», дальше расшифровывается - как. Не курите левые маны, это опасно!

Xenesz ★★★★
()
Ответ на: комментарий от xintrea

может у тебя дистр бракованный, но в моем мануал xargs прекрасен. И там есть примеры с комментариями, как раз есть про пробелы в именах файлов.

nu11 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.