如何将一组共享文件名前9个字符的文件移动到同名9个字符的已创建文件夹
v
我需要创建每个文件夹中包含相同9个字符的新文件夹 组然后将每个组文件移动到这些文件夹中。 谢谢
答案 0 :(得分:7)
只提取前9个字符作为目录名称。在bash
中,最简单的方法是使用正则表达式匹配参数子字符串扩展。
for f in *; do
# [[ $f =~ ^(.{9}) ]]
# dir=${BASH_REMATCH[1]}
dir=${f:0:9}
mkdir -p "$dir" && mv "$f" "$dir"
done