【发布时间】:2012-01-29 11:43:48
【问题描述】:
以下sed 行适用于以下字符串。我的目标是将存储在 value 中的数据放入一个变量中。
<input type="hidden" name="form_token" id="edit-system-site-maintenance-settings-form-token" value="0f5ae5a6e8bb84d3e18b30b7ff2a46b2" />
| sed 's/^.* value="//' \
| sed 's/ \/>//' \
| sed 's/"//'
但我真的认为最后一行是浪费。我不明白为什么当我尝试在如下所示的单行上执行此操作时,它不正确匹配。
| sed 's/" \/>//'
第一个 sed 行字符串处于以下状态后仅供参考
483deac360aa1d0ea89cedbdcc4d051e" />
【问题讨论】:
-
echo '<input type="hidden" name="form_token" id="edit-system-site-maintenance-settings-form-token" value="0f5ae5a6e8bb84d3e18b30b7ff2a46b2" />' | sed 's/^.* value="//' | sed 's/" \/>//'在这里工作正常... -
为我工作,您确定按此处所示输入吗?
-
绝对是,我从 shell 脚本中复制了这个。我正在使用 BASH,但我并不是一个脚本大师。 :)
-
注意
"和'符号。Echo命令可以压制它,看起来有些突兀。
标签: regex linux string sed grep