![删除尖括号之间的任何内容(包括它)](https://linux22.com/image/138677/%E5%88%A0%E9%99%A4%E5%B0%96%E6%8B%AC%E5%8F%B7%E4%B9%8B%E9%97%B4%E7%9A%84%E4%BB%BB%E4%BD%95%E5%86%85%E5%AE%B9%EF%BC%88%E5%8C%85%E6%8B%AC%E5%AE%83%EF%BC%89.png)
我有一个非常大的文本文件,~ 105 G
它包含很多内容<XXXX>
(尖括号包括中间的文本)。
我想删除那些括号和中间的文本。
答案1
“sed”是你的朋友。我想没有嵌入的括号。
小心!这将覆盖您的文件。
sed -i 's/<[^>]*>//g' big_file
答案2
给定一个 XML 文件和可用性XML小星:
$ cat file.xml
<root>
<tag attrib="hello">Hello world</tag>
<tag attrib="nice">Nice to see you</tag>
</root>
$ xmlstarlet sel -t -v / file.xml
Hello world
Nice to see you
这使用 XMLStarlet 提取根节点及其所有子节点的值。