所以我有一个看起来像这样的文件结构:
我需要为每个扩展名创建一个目录并将相应的文件移动到那里,这样看起来就这样
到目前为止,我有以下代码:
for i in $(find video -name "*.*" -print)
do cut -d'.' -f2 <<< "$i" | uniq -c;
done
这将返回重复的avi,因此uniq似乎不起作用,如何正确删除重复的内容?
答案 0 :(得分:3)
这个简单的脚本可能对您有用:
#!/usr/bin/env bash
shopt -s nullglob
dir=video
for file in "$dir"/*.*; do
out=$dir/video-${file##*.}
[[ -d $out ]] || mkdir -- "$out" || continue
mv -- "$file" "$out"
done
您还可以指定扩展名:in "$dir"/*.{avi,mkv,h264}
。