Как получить восьмеричный формат ls

ls -l | awk '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf("%0o ",k);print}'


Команда ls -l | awk '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf("%0o ",k);print}' может быть использована для отображения прав доступа файлов и директорий в восьмеричном формате.

ls -l выводит подробную информацию о файлах и директориях в текущем каталоге.
awk '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf("%0o ",k);print}' является скриптом на языке AWK, который обрабатывает вывод команды ls -l.
— Скрипт вычисляет и выводит права доступа в восьмеричном формате для каждого файла/директории.
— Альтернативой является использование команды stat с опцией --format, которая позволяет указать формат вывода прав доступа.
— В передаваемых скрипту аргументах отсутствуют параметры.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *