0

私は次のパターンを持っています

<number>5645646546545656756756757</number>

番号を削除しようとしていますが、機能させることができませんでした。

sed 's/.*<number>[0-9]<\/number>.*/replace/g' xml.log
4

3 に答える 3

3

タグと番号を削除する場合:

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
于 2013-03-27T08:04:36.740 に答える
0

次のようなものを試してください:

echo '<number>5645646546545656756756757</number>' | sed 's/.*<number>\([0-9]*\)<\/number>.*/\1/g'
于 2013-03-27T08:04:35.787 に答える
0

タグ内の数字や文字を削除したい場合は、以下を使用できます。したがって、<number>と</number>だけをタグとして考慮しているわけではありません。

sed's @ \(<[^>] *> \)[^ <] * \(<[^>] *> \)@ \ 1 \ 2 @ g'

パターンが1行に1回出現する場合は、最後のgを削除します。

于 2013-03-27T15:49:18.557 に答える