想用xxd批量处理棋谱,shell脚本却总是出错,提示模糊的重定向。直到发现英文命名的wgs棋谱可以正常处理,才意识到是QQ围棋自动保存棋谱文件名中存在空格导致的问题。
解决方法是将变量放在引号之间:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#!/bin/bash for file in ./*.wgs do xxd -g 1 -l 122 $"$file" > $"$file".txt done #echo $i #for((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
发表回复