2014-02-12 3 views
0

У меня есть каталог с большим количеством файлов, и мне нужно отделить их от владельца. Мой инстинкт заключался в том, чтобы вывести ls на mv, но я видел, что это not recommended из-за возможности того, что имена файлов могут содержать специальные символы. В любом случае, ближайший я могу думать:Как перенести все файлы с указанным владельцем в Unix?

ls -l | grep OWNER | find regex_for_filename | mv ../

, но это не работает.

Примечание. У меня есть надежное регулярное выражение для файлов в каталоге, но собственность разбросана.

+4

'find -maxdepth 1-user username -exec mv {} ../ \;', опустить maxdepth, если вам нужно это из подкаталогов. – Wrikken

+2

@Wrikken почему бы не поставить это в ответ? – rainkinz

+0

Вам нужны файлы списка в командной строке mv, а не стандартный ввод. Так что труба не имеет смысла. Найти, как в примере @Wrikkens, это лучший способ сделать это. –

ответ

5
find -maxdepth 1 -user username -exec mv {} ../ \; 

Опустить maxdepth, если вам нужны файлы из поддиректорий.

Смежные вопросы