我想穿过一些包含xml文件的目录。对于每个文件,我想应用awk命令并将输出再次写入文件。但是,写入的文件是空的。为什么?我使用下面的脚本:循环目录和文件bash脚本 - awk不写入文件
#!/bin/bash
for f in `find /myDir/ -iname "*.xml"`
do
awk '/<string name="my\/ attribute" optional="false">/,/<\/string>/ {sub(/<value>(.*)<\/value>/,"<value>none</value>")}1' $f >$f
done
不要使用'for'循环,如果你的文件可能会包含空格。做到这一点:'找到... |而IFS =读-r f;做...;完成' –