如何从文件中获取内的文本(正则表达式)

如何从文件中获取内的文本(正则表达式)

我如何从位于 < > 和非 < > 之间的文件中获取文本:文件:

hello<world>

在<>内:世界

没有<>:你好

答案1

你的问题不够清楚。<>相同的线?

<>假设文件中一行只有一个标签,则以下命令可以完成您的工作:

$ sed 's/<.*>//' your_file

以上内容将删除全部文件中以 开头<和以 结尾的字符串>将打印剩余部分。

$ sed 's/^.*<//; s/>.*$//' your_file

上述操作将删除所有字符串最后的 <行中的。然后,它将删除所有以第一的 >在该行中。例如:

$ echo '111<aaa>222<bbb>333<ccc>444' | sed 's/^.*<//; s/>.*$//'
ccc

如果你想找到第一的“标签”,然后尝试这个:

$ echo '111<aaa>222<bbb>333<ccc>444' | sed 's/^[^<]*<//; s/>.*$//'
aaa

如果你想打印第一的 <最后的 >, 尝试这个:

$ echo '111<aaa>222<bbb>333<ccc>444' | sed 's/^[^<]*<//; s/>[^>]*$//'
aaa>222<bbb>333<ccc

相关内容