Каждый раз, когда я использую команду watch в терминале, вывод выводится с начала экрана, и это кажется немного неудобным. Я надеюсь, что часы будут отображаться на экране в центре экрана.
$ 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, что вам нужно получить желаемый результат.
Вы можете комбинировать 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, что вам нужно получить желаемый результат.
Вы можете комбинировать 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, что вам нужно получить желаемый результат.