Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 替换目录中每个xml文件中的字符串_Linux_Unix - Fatal编程技术网

Linux 替换目录中每个xml文件中的字符串

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”

如何从命令行将当前目录中每个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”。同样,您应该在“sed”命令的末尾双引号“$i”。您应该在“find”之后添加一个点(.),以将当前目录作为搜索的起点。
find -name '*.xml -print -exec sed -i.bak 's/VWAP/TWAP/g' {} \;