Я застрял в задаче домашней работы, которая требует от меня написания сценария оболочки, который выполняет следующие действия:
- вычисляет количество подкаталогов в.
- вычисляет количество файлов в,и его подкаталоги
- вычисляют суммарный размер всех файлов в. и в его подкаталогах
- перечислены 5 самых больших файлов в. и его подкаталоги
В ОДНОЙ СТРОКЕ. У меня есть однострочные команды для каждого из вышеперечисленных пунктов, но я совершенно заблудился относительно того, как написать всю программу в одну строку. Мой профессор посоветовал мне использовать awk, но я все еще не могу найти способ сделать это.
Вот сценарий до сих пор:
#!/bin/sh
# Calculate the number of directories in .
ls -l . | grep -c ^d
# Calculate the number of files in .
ls -l . | egrep -c '^-'
# Calculate the sum size of all files in .
ls -Cl | awk '{ sum += $5 } END { print sum }'
# List the top 5 biggest files in .
find . -type f | xargs ls -lSh | head -n 5