shell中处理带空格的文件名

想用xxd批量处理棋谱,shell脚本却总是出错,提示模糊的重定向。直到发现英文命名的wgs棋谱可以正常处理,才意识到是QQ围棋自动保存棋谱文件名中存在空格导致的问题。

解决方法是将变量放在引号之间:

#!/bin/bash
for file in ./*.wgs
do
	xxd -g 1 -l 122 $"$file" > $"$file".txt

done
#echo $i
#for[1]t=0;t<i;t++
#{
#	echo ${wgs[t]};
#	xxd -g 1 -l 122 $"${wgs[t]}" > $"${wgs[t]}".txt;

#}
#xxd -g 1 -l 122 $1 > $1.txt

注释掉的部分是尝试用数组解决的代码。最后发现之间处理更方便。顺便记录一下,访问数组的方式 ${arry[键值]}。

参见:http://www.cnblogs.com/cocowool/archive/2013/01/15/2861904.html

参考资料

参考资料
1 t=0;t<i;t++

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注