次の内容を含むファイルがあります。
<general id="7" src="xyz" srcType="abc" link="positive" />
<general id="3" src="xyz" srcType="pqr" link="positive" />
..
src
各名前を大文字に変更しようとします。たとえば、上記ではすべてを(最初の文字は大文字)xyz
に置き換えたいと思います。Xyz
予想される出力は次のとおりです。
<general id="7" src="Xyz" srcType="abc" link="positive" />
<general id="3" src="Xyz" srcType="pqr" link="positive" />
..
私試験を終えた正規表現パターンはsrc="(.*?)"
行から「xyz」を抽出できますが、それを使用してsed
ファイルを置き換える方法は?
フォローしてみましたが、できません。
sed -E 's/srcName="(.*?)"/Xyz/1' ファイル名
ボーナスの質問ですが、どのように要約できますか?scr="
との間のすべての内容は、"
最初の文字が大文字の単語に変換できます。
ベストアンサー1
XML を編集するには、XML 対応ツールを使用します。例えば、xsh、私が使用しているメンテナンスツールです。
open file.xml ;
for //@src set . xsh:subst(., "(.)", "\U$1") ;
save :b ;