sed insert after Nth character in Mth line
So, as a result we insert our pattern in 2nd string after 12th character
#sed
sed -i '2s/^.\{12\}/&__INSERTED_SYMBOLS__/' filethe first part
2s
sets up necessary string, and then ^.{12}
says "take any 12 chars from the very beginning of line". Then, &
inserts back those 12 chars and AFTER them we insert our pattern.So, as a result we insert our pattern in 2nd string after 12th character
#sed
парсим вывод и приводим в нужный вид
Тут в чате прислали ссылку на пример того как человек парсил вывод сайта, чтобы выцепить видео:
#awk #sed #grep
Тут в чате прислали ссылку на пример того как человек парсил вывод сайта, чтобы выцепить видео:
$ 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"}}'
#awk #sed #grep