LINUX.ORG.RU

Получить владельца файла без ls


0

0
Проблема заключается в том, что выцепить владельца файла из вывода ls -l далеко не всегда возможно, поскольку никто не отменял пробелов в названии владельца и группы. Таким образом, ни awk, ни cut здесь не помогают. Пока что я вижу только один выход: использовать медленную, но по сравнению с популистким ls'ом гораздо более адекватную команду getfacl. Есть ли варианты попроще?
★★★★★
Ответ на: комментарий от chicane
Не, stat ещё медленне, а у меня каталогов - тысячи.
Вот вариант с getfacl'ем (здесь получаем ОТНОС_ИМЯ_КАТАЛОГА====владелец====группа)

find ./ -type d -mindepth 1 | while read d; do echo "${d##./}====`getfacl \"$d\" | sed -nr 's%^.+owner: (.+)$%\1%p'`====`getfacl \"$d\" | sed -nr 's%^.+group: (.+)$%\1%p'`"; done
DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny
хм, а чем на практике отличается stat от того же ls? ведь в теории они вроде обращаются к одному системному вызову - stat?
chicane
()
Ответ на: комментарий от alex_custov
>$ stat -c %U .bashrc
alex

Большое Спасибо !!! :)
P.S. А я и не знал о сущестсвовании такой команды, хотя в Linux уже лет 5 как минимум :(
DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny
как это вяжется с "Не, stat ещё медленне,..." ? ну если вам так охото попарсить вывод команд, то сделайте stat dir/* :)
chicane
()
Ответ на: комментарий от DRVTiny
если все-равно find'ом обходишь дерево каталогов, то просто
man find на предмет опции -printf "%u"
sdio ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.