Linux 替换目录中每个xml文件中的字符串
如何从命令行将当前目录中每个xml文件中的字符串“VWAP”替换为“TWAP”Linux 替换目录中每个xml文件中的字符串,linux,unix,Linux,Unix,如何从命令行将当前目录中每个xml文件中的字符串“VWAP”替换为“TWAP” BIFS=$IFS IFS=$'\n' for i in `ls *.xml` do sed -i 's/VWAP/TWAP/g' "$i" done IFS=$BIFS 根据输入编辑,谢谢。此问题似乎与主题无关,因为它与编程无关。这是关于Linux/Unix的,因此应该在上询问。注意,谢谢@TLama。您确实不应该解析“ls”的输出,当文件名包含空格和换行符时,它会导致错误。只需使用“for i in*.xml”
BIFS=$IFS
IFS=$'\n'
for i in `ls *.xml`
do
sed -i 's/VWAP/TWAP/g' "$i"
done
IFS=$BIFS
根据输入编辑,谢谢。此问题似乎与主题无关,因为它与编程无关。这是关于Linux/Unix的,因此应该在上询问。注意,谢谢@TLama。您确实不应该解析“ls”的输出,当文件名包含空格和换行符时,它会导致错误。只需使用“for i in*.xml”。同样,您应该在“sed”命令的末尾双引号“$i”。您应该在“find”之后添加一个点(.),以将当前目录作为搜索的起点。
find -name '*.xml -print -exec sed -i.bak 's/VWAP/TWAP/g' {} \;