linux 在标签之间提取字符串并在其他标签之间粘贴

标签 linux sed

我有带有 xml 文本的文件,例如:

<tag1>unknown string1</tag1>blablabla....<tag2></tag2>

我想使用 sed(或其他命令)提取标签 1 之间的字符串并粘贴到标签 2 之间,结果:

<tag1>unknown string1</tag1>blablabla....<tag2>unknown string1</tag2>

谢谢。

我找到了解决方案!

sed 's/\(.*<tag1>\)\(.*\)\(<\/tag1>.*<tag2>\)\(**\)\(<\/tag2>.*\)/\1\2\3\2\5/' file

将整个文件划分为引用,然后为了方便重新排序。

最佳答案

试试这个 sed 命令

命令:

sed 'N;s/\(<tag1>\(.*\)<\/tag1>\n<tag2>\).*\(<\/tag2>\)/\1\2\3/' FIleName

输出:

<tag1>unknown string1</tag1>
<tag2>unknown string1</tag2>

关于linux 在标签之间提取字符串并在其他标签之间粘贴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33051075/

相关文章:

linux - 替换特定字符串,并复制其下面的文本 block

linux - Linux如何处理DST(夏令时?

python 在 csv 中找到重复项并删除最旧的

c - GNU 自动补全变量

linux - 如何从 IP 地址列表中获取第四个八位字节大于 10 的行?

sorting - 根据特定列对表格数据进行排序、阈值和显示

linux - Bash 脚本以 json 格式打印输出

android - 如何从 Android 应用程序运行 root 命令?

ruby-on-rails - Ruby on Rails : cannot install FFI 1. 1.5 和捆绑程序无法继续

unix - 查找包含 "grep"的特定单词出现的行号