How to remove XML tags from Unix command line?

后端 未结 5 1028
再見小時候
再見小時候 2021-01-31 18:43

I am grepping an XML File, which gives me output like this:

data
more data
...

Note, this is a fl

5条回答
  •  悲哀的现实
    2021-01-31 19:12

    Give this a try:

    grep -Po '<.*?>\K.*?(?=<.*?>)' inputfile
    

    Explanation:

    Using Perl Compatible Regular Expressions (-P) and outputting only the specified matches (-o):

    • <.*?> - Non-greedy match of any characters within angle brackets
    • \K - Don't include the preceding match in the output (reset match start - similar to positive look-behind, but it works with variable-length matches)
    • .*? - Non-greedy match stopping at the next match (this part will be output)
    • (?=<.*?>) - Non-greedy match of any characters within angle brackets and don't include the match in the output (positive look-ahead - works with variable-length matches)

提交回复
热议问题