From c17b78229068221acca330404b6d36cf03516d87 Mon Sep 17 00:00:00 2001 From: Maxim Likhachev Date: Sun, 22 Sep 2019 08:30:23 +0500 Subject: [PATCH] vandoucli: awk --- vandroucli | 47 +++++++++++++++++++++++++++++++++++++---------- vandroucli.sed | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+), 10 deletions(-) create mode 100755 vandroucli.sed diff --git a/vandroucli b/vandroucli index ae42aab..e772eac 100755 --- a/vandroucli +++ b/vandroucli @@ -1,19 +1,46 @@ #!/bin/bash #Создан: Чт 05 апр 2018 10:26:40 -#Изменён: Чт 05 апр 2018 10:41:39 +#Изменён: Вс 22 сен 2019 08:29:53 # Получение последних записей с сайта vandrouki.ru -URL="https://vandrouki.ru" +URLS="https://vandrouki.asia https://vandrouki.by https://vandrouki.ru" -curl -s -q "$URL" \ +rstc="\033[00m" +yellow="\033[1;33m" +blue="\033[1;36m" +green="\033[1;32m" + +for url in $URLS; { + echo -e "$green> $url $rstc\n" + + curl -s -q "$url" \ | sed 's/]*>/@/; s/published.>/@/' \ - | awk -F'@' '{print $5 "@" $3 "@" $2}' \ - | sed -e :a -e 's/<[^>]*>//g;/&- \ + | awk 'BEGIN { RS="" } + { + gsub(/\n+/, "@"); + gsub(/

/, "\n"); + gsub(/(href=")|(" rel=[^>]*>)|(published.>)/, "@"); + gsub(/(&#[0-9]+;)|(<[^@>]*>*)/, ""); + gsub(/@\s*@*/,"@"); + + print + }' \ + | awk -F'@' -v blue="$blue" -v yellow="$yellow" -v green="$green" -v rstc="$rstc" ' + /^\s*$/ { + next + } { + if ($4 ~ /^\s*$/) { + date = $5 + } else { + date = $4 + } + + print blue " # " date "\t" yellow toupper($3) "\n\t\t" green $2 rstc + }' + + echo -e "\n--------------------------------\n" +} diff --git a/vandroucli.sed b/vandroucli.sed new file mode 100755 index 0000000..014b501 --- /dev/null +++ b/vandroucli.sed @@ -0,0 +1,32 @@ +#!/bin/bash + +URLS="https://vandrouki.ru https://vandrouki.by https://vandrouki.asia" +# URLS="https://vandrouki.by" + +rstc="\033[00m" +yellow="\033[1;33m" +blue="\033[1;36m" +green="\033[1;32m" + +for url in $URLS; { + echo -e "$green> $url $rstc\n" + + curl -s -q "$url" \ + | sed 's/&- \ + | tr '\n' '\r' \ + | sed -e 's/\r\r/####/g; s/\r/@/g; s/####/\n/g; s/

/\n/g' \ + | sed 's/href="/@/; s/" rel=[^>]*>/@/; s/published.>/@/' \ + | sed -E 's|^@||; s/&#[0-9]+;//g' \ + | sed '/^\s*$/d' \ + | awk -F'@' -v blue="$blue" -v yellow="$yellow" -v green="$green" -v rstc="$rstc" \ + '{ + print blue " # " $6 "@" yellow toupper($3) "\n@ " green $2 rstc + }' \ + | sed 's/@@@*/@@/g' \ + | sed -e :a -e 's/<[^>]*>//g;/