sed从字符中移除到字符

时间:2014-01-23 06:52:38

标签: linux shell sed

我有一些如下的数据。

<some-thing>my-data<some-thing>

我想搜索一个字符'&lt;'并删除直到'&gt;'并需要输出如下。

my-data

有没有办法用sed做到这一点?

4 个答案:

答案 0 :(得分:1)

使用Perl:

perl -pe 's/<.*?>//g' your_file

答案 1 :(得分:0)

如果没有&lt;和&gt;在您的数据中

sed 's/<[^>]*>//g

如果&lt;或者&gt;可以出现在数据内容

sed 's/^<[^>]*>\(.*\)<[^>]*>$/\1/'

假设任何具有标记&lt;的行。 &GT;在这种情况下。

备注:标记通常以<tag>开头,并以</tag>

停止

答案 2 :(得分:0)

sed 's/<[^>]*>//g' inputfile > outputfile

答案 3 :(得分:0)

这个awk应该这样做:

echo "<some-thing>my-data<some-thing>" | awk '{gsub(/<[^>]*>/, " ");$1=$1}1'
my-data