想你想是這樣的。
#!/bin/bash
dir="/somedir/"
for i in "$dir"*; do
if [ -f "$i" ]; then
filename="${i%%.*}"
if [ ! -d "$filename" ]; then
mkdir "$filename"
fi
mv "$i" "$filename"
fi
done
例如,
$ tree /somedir
/somedir
├── example-1.pdf
├── example-3.mov
├── file-1.ai
├── file-1.pdf
├── file-1.svg
├── file-2.ai
├── file-2.svg
├── file-2.txt
├── file-3.ai
└── file-3.svg
$ ./above_script
$ tree /somedir
/somedir
├── example-1
│ └── example-1.pdf
├── example-3
│ └── example-3.mov
├── file-1
│ ├── file-1.ai
│ ├── file-1.pdf
│ └── file-1.svg
├── file-2
│ ├── file-2.ai
│ ├── file-2.svg
│ └── file-2.txt
└── file-3
├── file-3.ai
└── file-3.svg
謝謝!這大多是我想要的。 – hellocatfood