我有一个文件first.html,其中包含以下代码:
<tr>
<td class="headerValue">One</td>
</tr>
<tr>
<td class="headerValue">Two</td>
</tr>
现在我有另一个文件second.txt,它包含一些值,如:
Three
Four
我想替换&#34; headerValue&#34;的每次出现的值。使用第二个文件中的值。
EG。更换后,first.html将成为
<tr>
<td class="headerValue">Three</td>
</tr>
<tr>
<td class="headerValue">Four</td>
</tr>
你能帮帮忙吗?
答案 0 :(得分:0)
grep
和sed
的组合可以解决问题:
来自file2的grep pattern3;用它替换file1中的pattern1:
a="$( grep -o 'headerValue>Three' file2 )"
sed "s/headerValue>One/$a/" file1
答案 1 :(得分:0)
awk 'BEGIN { i1 = 0; i2 = 0}; NR == FNR { a[i1++]=$1 }; ! /<td class="headerValue">/ && NR != FNR {print}; /<td class="headerValue">/ && NR != FNR { print gensub(/>.*</, ">"a[i2++]"<", "", $0); };' file2.txt file1.txt
,其中“file2.txt”包含“Three,Four等”和“file1.txt”包含源XML数据