
Size: a a a
for i in $(ls *.back); do echo $i is now ${i/back/hi-bo0om}; doneПример 2:
1.2.back is now 1.2.hi-bo0om
3.4.back is now 3.4.hi-bo0om
5.6.back is now 5.6.hi-bo0om
find -type f -name "*.html~" |Пример 3:
while read f; do
mv "$f" "${f%\~}"
done
for i in $(ls *.back); do basename $i .back; doneПример 4:
basename -s .back $(find ./ -name *.back)Пример 5: (нужно ставить доп утилиту)
rename 's/.back/.hi-bo0om/g' *
UPD Дополнительное чтиво:$ curl -s "https://www.docker.com/dockercon/2019-videos/" | grep -i -A3 "2019-videos?" | grep -v "\-\-" | grep -v "img id" | sed 's/<a href="/https:\/\/www.docker.com/g' | sed 's/">//g' | sed 's/<p>//g' | sed 's/<\/p>//g' | sed 'n;G;'кмк это немножечко не практично. И поэтому в рамках самообучения я решил поднатаскать свои навыки в awk. В итоге получился такой вариант:
curl -s "https://www.docker.com/dockercon/2019-videos/" | \З.Ы. не являюсь гуру авк, парсинга и прочего. Если у вас есть мнение что мое решение не совсем верно или можно сделать красивее\лаконичнее, прошу вас писать замечения в ЛС (с пруфами) и я обязательно опубликую ваш вариант.
awk 'match($0, /dockercon\/2019-videos\?watch=.*[a-zA-Z0-9]/) \
{ print "https://www.docker.com/"substr( $0, RSTART, RLENGTH ) } \
{ getline; if ( match($0, /<p>(.*)<\/p>/, m) ){print m[1]"\n"}}'
$ curl -s "https://www.docker.com/dockercon/2019-videos/" | grep -i -A3 "2019-videos?" | grep -v "\-\-" | grep -v "img id" | sed 's/<a href="/https:\/\/www.docker.com/g' | sed 's/">//g' | sed 's/<p>//g' | sed 's/<\/p>//g' | sed 'n;G;'кмк это немножечко не практично. И поэтому в рамках самообучения я решил поднатаскать свои навыки в awk. В итоге получился такой вариант:
curl -s "https://www.docker.com/dockercon/2019-videos/" | \З.Ы. не являюсь гуру авк, парсинга и прочего. Если у вас есть мнение что мое решение не совсем верно или можно сделать красивее\лаконичнее, прошу вас писать замечения в ЛС (с пруфами) и я обязательно опубликую ваш вариант.
awk 'match($0, /dockercon\/2019-videos\?watch=.*[a-zA-Z0-9]/) \
{ print "https://www.docker.com/"substr( $0, RSTART, RLENGTH ) } \
{ getline; if ( match($0, /<p>(.*)<\/p>/, m) ){print m[1]"\n"}}'
curl -s "https://www.docker.com/dockercon/2019-videos/" | grep -i -A3 "2019-videos?" | grep -v -e "\-\-" -e "img id" | sed -e 's/<a href="/https:\/\/www.docker.com/g' -e 's/"
>//g' -e 'n;G;' -e 's/<p>//g' -e 's/<\/p>//g'
$ curl -s "https://www.docker.com/dockercon/2019-videos/" | grep -i -A3 "2019-videos?" | grep -v "\-\-" | grep -v "img id" | sed 's/<a href="/https:\/\/www.docker.com/g' | sed 's/">//g' | sed 's/<p>//g' | sed 's/<\/p>//g' | sed 'n;G;'кмк это немножечко не практично. И поэтому в рамках самообучения я решил поднатаскать свои навыки в awk. В итоге получился такой вариант:
curl -s "https://www.docker.com/dockercon/2019-videos/" | \З.Ы. не являюсь гуру авк, парсинга и прочего. Если у вас есть мнение что мое решение не совсем верно или можно сделать красивее\лаконичнее, прошу вас писать замечения в ЛС (с пруфами) и я обязательно опубликую ваш вариант.
awk 'match($0, /dockercon\/2019-videos\?watch=.*[a-zA-Z0-9]/) \
{ print "https://www.docker.com/"substr( $0, RSTART, RLENGTH ) } \
{ getline; if ( match($0, /<p>(.*)<\/p>/, m) ){print m[1]"\n"}}'
puts curl -s "https://www.docker.com/dockercon/2019-videos".scan(/<a href=\"([a-z\/0-9\-\?=]{1,})\".[\s<!--a-z\=:\/\.A-Z0-9>]{1,}<p>([\+\"\%\'\#\@A-Za-z0-9\s&:\/\-\?\,()\.]{1,})<\/p>/)
ruby -r 'open-uri' -r 'nokogiri' -e 'Nokogiri::HTML(open("https://www.docker.com/dockercon/2019-videos/")).css(".video a").each {|a| puts "https://www.docker.com/dockercon/2019-videos#{a["href"]}"; puts a.css("p").text; puts}'
copy(document.body.innerHTML)
Это поместит тело итоговой страницы в буфер обменаPG::UnableToSend: SSL connection has been closed unexpectedlyОтвет команды разработки:
yc managed-postgresql user list --cluster-id <cluster id>