sbh
@sbh

Как составить регулярное выражение для SED?

Есть строка вида:
<input type="hidden" name="csrf.sign" value="c9e19b1287aca01ed1d65ebecd26706245aa4be31ff5d03fa36bc5633b45aad4b045ff421c25df734878cbaec6d8bfea28221c3377439f20ff1ec4d735e1c1a1"/><input type="hidden" name="csrf.ts" value="1556511260444"/></form>

Нужно выдрать параметры csrf.ts и csrf.sign

csrf.ts выдирается вот такой командой:
sed -n 's/.*value="\(.*\)".*/\1/p'

Как выделить значение csrf.sign?
  • Вопрос задан
  • 234 просмотра
Решения вопроса 1
cat 11.txt | cut -d \" -f 6 возможно вам подойдет именно такой вариант.
значение после 6 разделителя "
В противном случае вам нужно будет делать что-то вроде
<input type=\\x22hidden\\x22 name=\\x22csrf.sign\\x22 value=\\x22c9e19b1287aca01ed1d65ebecd26706245aa4be31ff5d03fa36bc5633b45aad4b045ff421c25df734878cbaec6d8bfea28221c3377439f20ff1ec4d735e1c1a1\\x22\/><input type=\\x22hidden\\x22 name=\\x22csrf.ts\\x22 value=\\x221556511260444\\x22\/><\/form

разделдять на группы и выводить уже нужную.
В общем если вы дадите больше вводных данных по формату файла и что вы хотите получатьв конце то можно будет дать более качественный ответ
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Loiqig
@Loiqig
инженер по сетям корпоративной сети
Если не сильно мудрствуя:
sed -n 's/.*name="csrf.sign" value="\([0-9a-z]\+\)".*/\1/p'
sed -n 's/.*name="csrf.ts" value="\([0-9]\+\)".*/\1/p'
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы