我有这个HTML页面(template.html)&我想提取输入form_nonce
<div class="row">
<div class="col s12 input-field">
<input type="hidden" name="form_nonce" id="reset_form_nonce" value="66eef7c75d28e44817959c8eec1e0074"/>
<input type="text" placeholder="" name="form_login" id="reset_form_login" class="input" value="" size="20"
autocorrect="off" autocapitalize="none"
tabindex="10"/>
<label for="reset_form_login"><i class="icon-user icon"></i> Username or Email</label>
</div>
</div>
<div class="row">
<div class="col s12 input-field">
<input type="hidden" name="form_nonce" id="reset_form_nonce" value="66eef7c75d28e44817959c8eec1e0074"/>
<input type="text" placeholder="" name="form_login" id="reset_form_login" class="input" value="" size="20"
autocorrect="off" autocapitalize="none"
tabindex="10"/>
<label for="reset_form_login"><i class="icon-user icon"></i> Username or Email</label>
</div>
</div>
我使用了以下命令:
NONCE=`grep -m 1 "form_nonce" template.html | awk -F '"' '{print $8}'`
但问题是我并不总是以这种格式接收输入,所以有时它是7,8或9.有没有办法关注value关键字而不是假设值的顺序?
答案 0 :(得分:1)
使用grep
和sed
grep -m 1 "form_nonce" template.html |sed -e 's/.*value="//'|sed -e 's/"\/>//'
在第一个sed
替换中,取代value="
的所有内容都会被替换,而第二个sed
结尾标记中的所有内容都会被替换。