我有多个类似于这样的xml文件:<TEST><TEST><TEST><TEST><TEST><TEST><TEST><TEST><TEST><TEST>
,我想对每一个'<‘都有一个新的相似点,并摆脱每一个’files >‘>。我想通过regex实现这一点,因为我正在做的是*nix。
发布于 2018-06-19 06:22:55
regex
没有必要进行如此简单的搜索和替换。您希望用<
替换\n<
,用空字符串替换>
。
假设您的内容位于input.txt
文件中,这个简单的sed
命令行可以完成以下工作:
sed 's/</\n</g;s/>//g' input.txt
它是如何工作的
有两个sed
命令由;
分隔
s/</\n</g
s/>//g
这两个命令都是s
(搜索和替换)。s
命令需要搜索regex
(此处不需要regex )、替换字符串和一些可选标志,以/
分隔。
第一个s
搜索<
并将其替换为\n<
。\n
是regex
和许多Unix工具中换行符的常用符号(即使不涉及regex
)。
第二个s
搜索>
并将其替换为nothing。
这两个s
命令都使用了g
(全局)标志,该标志告诉它们在每一行上都可以执行所有的替换操作。sed
对输入的每一行运行每个命令,默认情况下,s
在第一个替换之后停止(在一行上)。
https://stackoverflow.com/questions/50930405
复制相似问题