Bash-skrip 删除整个 xlf-tag
Bash-skrip to delete whole xlf-tag
我尝试删除 xlf 文件中的整个标签,例如:
<trans-unit id="test" resname="test">
<source>Panels</source>
</trans-unit>
有没有办法从字符串 <trans-unit id="test"
删除到字符串 </trans-unit>
?
我设法删除了另外两行,但这将是多行值的问题。
这是我当前的版本:
sed -i.bak "/id=\"$KEY\"/,+2d" "$FILEPATH"
由于文件是 well-indented,您可以使用 sed
:
的范围模式
sed -i.bak '/<trans-unit id="'"$KEY"'"/,/<\/trans-unit>/d' "$FILEPATH"
该命令将查找包含 <trans-unit id=
+ KEY
变量中的 ID,然后是 "
字符的行和包含 [=15 的行之间的所有行=],然后将删除找到的行范围(由于 d
标志)。
我尝试删除 xlf 文件中的整个标签,例如:
<trans-unit id="test" resname="test">
<source>Panels</source>
</trans-unit>
有没有办法从字符串 <trans-unit id="test"
删除到字符串 </trans-unit>
?
我设法删除了另外两行,但这将是多行值的问题。
这是我当前的版本:
sed -i.bak "/id=\"$KEY\"/,+2d" "$FILEPATH"
由于文件是 well-indented,您可以使用 sed
:
sed -i.bak '/<trans-unit id="'"$KEY"'"/,/<\/trans-unit>/d' "$FILEPATH"
该命令将查找包含 <trans-unit id=
+ KEY
变量中的 ID,然后是 "
字符的行和包含 [=15 的行之间的所有行=],然后将删除找到的行范围(由于 d
标志)。