Судя по номеру версии vim
, вы используете Debian Jessie. С 2019 -07 -06 это была версия oldoldstable
, поэтому она скоро устареет. Просто надо знать...
Вам понадобится пакет vim-runtime
. У него нет жестких зависимостей, поэтому вы можете просто подключиться к другому компьютеру с доступом в Интернет, загрузить этот единственный пакет, принести его в вашу несетевую -систему и установить его с помощью sudo dpkg -i vim-runtime*.dpkg
.
Думаю, это даст вам хотя бы некоторую подсветку синтаксиса и поддержку цвета. Функция termguicolors
, отсутствующая в vim-tiny
, относится к полной поддержке 24-битного цвета -в Xterms и совместимых эмуляторах терминалов.
Используя то, что я считаю решением POSIX, которое должно работать на HPUX по мере необходимости, вы можете выбрать второй день любого месяца изcal
year=2021 month=8 # Omit entirely for current year and month
cal $month $year |
sed -nE 's/ 2(.*|)$//p' |
awk '{ split("Sun Mon Tue Wed Thu Fri Sat",h); print h[length($0)/3+1]}'
Выход
Mon
Пояснение
Команда cal
печатает календарь:
cal
August 2021
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Мы ищем шаблон {space} 2 {space}
или {space} 2
в конце строки и удаляем все после него. Затем мы делим длину полученной строки на три (— три символа в столбце недели )и добавляем 1
для индексации массива дней недели.
(sed
можно было сложить в awk
, но я чувствовал, что дополнительная сложность не стоит затраченных усилий.)
Отсюда можно легко перебирать месяцы в году, что может понадобиться:
year=2021
for month in January February March April...
do
day=$(
cal "$month" "$year" |
sed -nE 's/ 2(.*|)$//p' |
awk '{
split("Sunday Monday Tuesday Wednesday Thursday Friday Saturday", h);
print h[length($0)/3+1]
}'
)
printf "%02d %s %d: %s\n" 2 "$month" "$year" "$day"
done
cu=`date +%d`
date --date="$(date --date='1 month ago') -$cu days +2days" +%A" "%Y-%m-%d
Friday 2021-07-02
date --date="$(date --date='1 month') -$cu days +2days" +%A" "%Y-%m-%d
Thursday 2021-09-02