2014-01-23 28 views
0

我有如下所示的某些数据。sed将字符移除到字符

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

我想搜索一个字符“<”,并删除直到“>”,需要像下面一个输出。

my-data 

有没有办法用sed来做?

回答

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

谢谢你这工作:) –

0

如果没有<和>数据

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

如果<或>可能出现在数据内容

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

假设有标签<>任何线都在的情况下。

备注:通常标记开始与<tag>和一个</tag>

+0

你有一堆错误:在第一个命令中缺少'/',两个都缺少'*'命令。 – Barmar

+0

对,发布之前发生的VI编辑习惯回复结束:-(现在帖子是好的,谢谢你的信息 – NeronLeVelu

1

停止使用Perl:

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

谢谢你这工作:) –

0

awk应该这样做:

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

谢谢你这也工作:) - –