bio*_*han 6 directory rename files
我有一个包含大约 150 个文本文件的文件夹。我想以 150 个文件的名称创建文件夹。之后,我希望将文本文件移动到其各自的文件夹中。
myfolder 目录中文件的示例名称:
~/myfolder/
|______ ajhaslf.txt
|______ oiueed.txt
|______ dsflije.txt
Run Code Online (Sandbox Code Playgroud)
我希望我的新结构如何:
~/myfolder/
|______ ajhaslf
|____ajhaslf.txt
|______ oiueed
|____oiueed.txt
|______ dsflije
|____dsflije.txt
Run Code Online (Sandbox Code Playgroud)
当然,使用文件名创建目录对我来说不是问题mkdir。
@gniourf_gniourf有正确的想法:
set -o errexit -o nounset
cd ~/myfolder
for file in *.txt
do
dir="${file%.txt}"
mkdir -- "$dir"
mv -- "$file" "$dir"
done
Run Code Online (Sandbox Code Playgroud)
这应该是 POSIX 兼容的。它不是可重入的。它会不会,如果你有一个名为任意两个文件的工作something.txt和something.txt.txt。