2014-01-23 56 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

謝謝你這也工作:) - –