批处理,每个文件创建一个目录并且将文件移动到相应的目录里
需求如下:
有一个表中包含了需要处理的文件和目录关系,如下,编号为目录名,文件名中包含有特殊字符和空格,批量创建目录并且移动到指定目录下
批量创建目录如下:
awk ‘{print "mkdir -p",$1}’ FILELIST |bash
批量移动文件到目录下如下:
sed 's#^[0-9]*#&xxx#g' list.txt | awk -F "xxx " '{print "mv","\""$2"\"",$1 }' |bash
批量移动思路:将目录名称中的空格替换为xxx,然后使用xxx为分隔符,又因为文件名中包含空格,所以用“”括起来,最后叫个bash执行