我有一根看起来像这样的绳子。
<tag-name i-am-an-attribute="123" and-me-too="321">我想要做的就是把虚线替换成下划线,但是标签名应该保持不变。
希望有一些专家能帮我解决问题。
如果有人需要这个解决方案。
我最后得到了perl oneliner命令。
echo '<tag-name i-am-an-attribute="123" and-me-too="321">' | perl -pe 's/( \K[^*"]*)-/$1_/g;' | perl -pe 's/ / /g;'
结果:
<tag-name i_am_an_attribute="123" and_me_too="321">发布于 2013-11-22 19:08:50
使用sed:
sed ':l;s/-\([^- ]*\)\( *=\)/_\1\2/g;tl' input给予:
<tag-name i_am_an_attribute="123" and_me_too="321">发布于 2013-11-22 23:42:46
作为文件中的一行:-
read -r < file
fullstring=$(echo "${REPLY}" | sed s'@-name @-name:@')
field1=$(echo "${fullstring}" | cut -d':' f1)
field2=$(echo "${fullstring}" | cut -d':' f2)
fixedfield=$(echo "${field2}" | sed s'@-@_@'g)
echo "${field1} ${fixedfield}"我发现,使用脚本,最重要的是在文本中为自己提供锚,您可以使用这些锚将文本分割成段,然后对其执行操作。尝试用分隔符将您的文本格式化为实际字段,这样可以使生活更加轻松。
https://stackoverflow.com/questions/20147632
复制相似问题