Подтвердить что ты не робот

Найти владельца файла в unix

Есть ли способ получить только владельца файла и группу, разделенные пробелом в оболочке unix?

Я пытаюсь написать script, чтобы найти владельца всех файлов в каталоге и распечатать его (в определенном формате, не может использовать ls -la).

4b9b3361

Ответ 1

ls -l | awk '{print $3, $4 }'

Это сделает это

Ответ 2

Используйте команду stat, если она доступна в вашей версии UNIX:

    $ stat -c "%U %G" /etc/passwd
    root root

или, чтобы выполнить эту операцию для всех файлов в каталоге и также напечатать имя каждого файла:

    $ stat -c "%n %U %G" *

Ответ 3

Попробуйте также команду stat:

stat -c %U file

Ответ 4

У GNU find есть опция -printf, которая сделает это для вас:

# if you want just the files in the directory, no recursion
find "$dir" -maxdepth 1 -type f -printf "%u %g\n"

# if you want all the files from here down 
find "$dir" -type f -printf "%u %g\n"

# if you need the filename as well for disambiguation, stick a %f in there
find "$dir" -maxdepth 1 -type f -printf "%u %g %f\n"

Другие системы могут иметь это как gfind.

Ответ 5

ls -l | cut -f3,4 -d" " | tail -n +2