我有许多xml文件,我需要根据xml中的特定标记(比如tag1="alpha"
)对每个文件进行重命名。
我已经弄清楚了如何根据特定标记的 * 单一 * 出现来重命名文件。
第一个
问题在于:一些文件有多个tag1
标签,例如tag1="alpha"
tag1="beta"
tag1="omega"
。对于这些文件,我还需要创建同一文件的副本,但使用其他名称,beta.xml
,omega.xml
。
我试着用位置参数来匹配,但没有成功(我是一个初学者)。
文件结构示例:
<div class="div-entry">
<d:entry xmlns:d="http://www.apple.com/DTDs/DictionaryService-1.0.rng" id="m_en_gbus0022390" tag1="Alhambra" class="entry">
<span class="hg x_xh0">
<span role="text" d:syl="1" homograph="1" class="hw">Al.ham.bra<d:syl/><span class="gp ty_hom tg_hw">1 </span></span>
<span prxid="Alhambra_us_x" prlexid="pron0091531.002" dialect="AmE" class="prx"> | <span d:prn="US" id="m_en_gbus0022390.007" dialect="AmE" class="ph t_respell">alˈ;hambre;<d:prn/></span><span d:prn="IPA" id="m_en_gbus0022390.007" soundFile="alhambra#1_us_1" media="online" dialect="AmE" class="ph">ɑlˈ;hɑmbre;<d:prn/></span> | </span>
</span>
<span class="sg">
<span id="m_en_gbus0022390.003" class="se1 x_xd0">
<span id="m_en_gbus0022390.004" class="msDict x_xd1 t_core">
<span role="text" class="fg">
<span class="gp tg_fg">(</span>
<span tag1="the Alhambra"></span>
<span class="gp tg_fg">) </span>
</span>
<span d:def="1" role="text" class="df">a fortified Moorish palace, the last stronghold of the Muslim kings of Granada, built between 1248 and 1354 near Granada in Spain<span class="gp tg_df">. </span><d:def/></span>
</span>
</span>
</span>
</d:entry>
</div>
1条答案
按热度按时间jm2pwxwz1#
好了,现在我们有:
因此我们可以提取标记值
并将它们存储在bash数组中
和重命名如下所示: