我是初学者,特别是在使用 Unix shell 方面。
有没有办法做以下事情:
为目录中的每个文件(约 50 个)创建一个子目录。子目录最好以文件或数字(从 1 到 50)命名
移动文件到相应的子目录
从主目录开始,对于每个子目录,使用该子目录中的文件进行进一步分析(对其执行已写好的代码)
我将非常感谢您的帮助。非常感谢。
答案1
处理有趣文件名的方法如下:
#!/bin/bash
files="$(\
find . -maxdepth 1 -type f -print0 | \
xargs -0 -r stat --format=\"%N\" \
)"
for i in $files ; do
mv "$i" "X_$i" && \
mkdir "$i" && \
mv "X_$i" "$i/$i"
done
find . -type f -print0 | \
xargs -0 -r stat --format=\"%N\"
读man find xargs stat