是否有一种简单的方法可以从终端内的xml文件中删除一组特定的xml标记?
我想删除的所有标签都有一个模式:column_1 / 2/3/4/5/6/7/8/9(某个数字)。
我想保留column_1到column_9,并删除任何高于此值的内容。
答案 0 :(得分:2)
恕我直言,这应该足够了:
sed '/^ *<column_[0-9][0-9]\+ *\/> *$/d' file.xml > reduced.xml
编辑:
cat > test.xml << EOF
<column_1 />
<column_2 />
<column_9 />
<column_10 />
<column_1180 />
EOF
sed '/^ *<column_[0-9][0-9][0-9]* *\/> *$/d' test.xml
输出:
<column_1 />
<column_2 />
<column_9 />
如果一行中出现多个事件:
echo "<column_1 /><column_2 /><column_9 /><column_10 /><column_1080 />" > test2.xml
sed 's/<column_[0-9][0-9][0-9]* *\/>//g' test2.xml
输出:
<column_1 /><column_2 /><column_9 />