Каждый раз, когда я использую команду часов в терминале, вывод отображен с экрана, запускаются, и это кажется немного неловким. Я надеюсь заставить часы отобразить вывод в экранном центре.
$ watch -n 1 du -hs "*.part"
52K Prince of Tennis Episode 100 English Subbed Online - Chia-Anime.mp4.part
64M Prince of Tennis Episode 92 English Subbed Online - Chia-Anime.mp4.part
53M Prince of Tennis Episode 93 English Subbed Online - Chia-Anime.mp4.part
23M Prince of Tennis Episode 94 English Subbed Online - Chia-Anime.mp4.part
13M Prince of Tennis Episode 95 English Subbed Online - Chia-Anime.mp4.part
24K Prince of Tennis Episode 96 English Subbed Online - Chia-Anime.mp4.part
12K Prince of Tennis Episode 97 English Subbed Online - Chia-Anime.mp4.part
40K Prince of Tennis Episode 98 English Subbed Online - Chia-Anime.mp4.part
36K Prince of Tennis Episode 99 English Subbed Online - Chia-Anime.mp4.part
Я хочу, чтобы этот вывод начал появляться от центра экрана.
Можно объединиться watch
и printf
для создания желаемого вывода.
Вот сценарий в качестве примера:
#!/bin/bash
columns="$(tput cols)"
du -hs *.part | while read i; do
printf "%*s\n" $(( (${#i} + columns) / 2)) "$i"
done
Сохраняют его с именем как script.sh
и выполняют его как:
watch bash script.sh
вывод был бы:
4.0K myfile
4.0K anotherfile
54M coreutils-8.25
28K coreutils_8.25-2ubuntu2.debian.tar.xz
4.0K coreutils_8.25-2ubuntu2.dsc
5.5M coreutils_8.25.orig.tar.xz
Вот другой сценарий:
#!/bin/bash
for i in *.part
do
title=`du -hs "$i"`
echo -e "\t\t\t\t$title\n"
done
выполняет его:
watch bash myscript.sh
это собирается показать Вам, результат похож:
4.0K myfile
4.0K anotherfile
54M coreutils-8.25
28K coreutils_8.25-2ubuntu2.debian.tar.xz
4.0K coreutils_8.25-2ubuntu2.dsc
5.5M coreutils_8.25.orig.tar.xz
Использование в качестве многих \t
необходимо получить желаемый результат.