私は次のパターンを持っています
<number>5645646546545656756756757</number>
番号を削除しようとしていますが、機能させることができませんでした。
sed 's/.*<number>[0-9]<\/number>.*/replace/g' xml.log
タグと番号を削除する場合:
sed 's@<number>[0-9]*</number>@replace@g' xml.log
番号を削除したい場合:
sed 's@<number>[0-9]*</number>@<number></number>@g' xml.log
(ファイル内で)インプレース置換を行う場合は、次を追加します-i
。
sed -i 's@<number>[0-9]*</number>@replace@g' xml.log
次のようなものを試してください:
echo '<number>5645646546545656756756757</number>' | sed 's/.*<number>\([0-9]*\)<\/number>.*/\1/g'
タグ内の数字や文字を削除したい場合は、以下を使用できます。したがって、<number>と</number>だけをタグとして考慮しているわけではありません。
sed's @ \(<[^>] *> \)[^ <] * \(<[^>] *> \)@ \ 1 \ 2 @ g'
パターンが1行に1回出現する場合は、最後のgを削除します。