Прошу помощи у бывалых с awk (или sed)! Задачка не тривиальная - обработка потока особым образом. Уже имеется сложная конструкция:
cat | egrep -o "[некоторое значеие ~a~ или ~b~]" | egrep "[что-то связаное с ~b~]" | \
awk '/~b~/ {i++; x[i]=$1} /~a~/ {y=sprintf("%s %s",$3,$4)} END {for (j=1; j<=i; j++) printf("%s %s %s\n", y, x[j], x[j])}' | \
sed 'тут всё сложно - обрабатываеются URL' | tr "устраняет негатив предыдущего sed" | sed "поместить 2 фигни в начало каждой строки"
фигня_1 фигня_2 фигня_3 фигня_4 элемент_1 "элемент_2"
И задача, собственно, вот в чём... Внутри элемент_2 (это URL), спрятан элемент_1 (например, имя файла). Проблема в том, что элемент_1 записан в web-hex, то есть %=%25, '\s'=%20 и так далее. Это делает его частично или полностью нечитаемым. Для приведения этого фрагмента строки в порядок я хочу использовать два раза подряд конструкцию вида:
элемент_1=`echo -e \`echo элемент | sed 'заменить % на \x'\``