Можно также использовать команду du
с некоторыми аргументами и использовать sort
Я использую следующее:
$ du -hsc /path/to/file
От man du
-h, --human-readable
print sizes in human readable format (e.g., 1K 234M 2G)
-s, --summarize
display only a total for each argument
-c, --total (I USE IT FOR EXTRA INFO)
produce a grand total
To sort
$ du -hsc /path/to/file | sort -h
От man sort
-h, --human-numeric-sort
compare human readable numbers (e.g., 2K 1G)
Используйтеprintf
:
printf '| %s | %s | %s | %s | %s |\n' "$host" "$hostname" "$Pub_IP" "$Kernel_Version" "$Deb_Version" >info.txt
%s
в строке формата printf
(первый аргумент дляprintf
)являются строковыми заполнителями, и каждый из них будет заменен другими аргументами, заданными для printf
, в свою очередь.
Если вы заключаете строки в кавычки или экранируете их, вы можете включать вертикальные черты:
echo "| ${host} | ${hostname}..."
Вы, конечно, можете использовать и printf
(Я так понимаю, это то, о чем вы спрашиваете в конце своего вопроса):
printf '| %s | %s | %s...' "${host}" "${hostname}" "${Pub_IP}"...
Вы можете воспользоваться повторяющимся поведением printf
для упрощения строки формата.:
printf '| %s ' "${host}" "${hostname}" "${Pub_IP}"...; printf '|\n'
Это повторит последовательность | %s
столько раз, сколько необходимо, и завершит строку вертикальной чертой и возвратом каретки.