У меня есть задача написать скрипт bash, показывающий права на самый большой и самый маленький файл в каталоге. Как я мог получить это?

Я пробовал ls -s, но он показывает мне все файлы, отсортированные по размеру.

3 ответа3

1

Попробуй это:

ls -S | head -n1
ls -S | tail -n1
1
~# ls -hlS | head -n2 | tail -n1 | awk '{print $1, $8}'
-rw-r--r-- openssl-0.9.8k.tar.gz

~# ls -hlS | tail -n1 | awk '{print $1, $8}'
-rw-r--r-- a.php

 ~# du -sh openssl-0.9.8k.tar.gz a.php
3.7M    openssl-0.9.8k.tar.gz
4.0K    a.php
1
ls -lS | grep - | head -n1 | awk '{print $1," ",$8}'
ls -lSr | grep - | head -n1 | awk '{print $1," ",$8}'

Обратите внимание на -S вместо -s, так как это только добавляет размер файла в блоках и не сортирует.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .