我有一些如下的数据。
<some-thing>my-data<some-thing>
我想搜索一个字符'&lt;'并删除直到'&gt;'并需要输出如下。
my-data
有没有办法用sed做到这一点?
答案 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