linux bash脚本来创建文件夹和移动文件

use*_*404 3 command-line bash scripts

您好,我需要根据文件名创建文件夹,并在此文件夹中创建另一个文件夹,然后将文件移动到第二个文件夹

例子:

cat.jpg
create folder cat
create folder picture
move cat.jpg to picture 
Run Code Online (Sandbox Code Playgroud)

我所有的 .jpg 文件都在

/root/桌面/My_pictures

所以它应该是这样的:

示例图片“cat.jpg”

/root/Desktop/My_pictures/cat/pictures/cat.jpg
Run Code Online (Sandbox Code Playgroud)

对不起,如果我不准确,但英语不是我的母语。

最好的问候和谢谢

小智 6

您还可以删除ls *.jpg并简单地使用shell globbing

#!/bin/bash

for full_filename in *jpg; do
  extension="${full_filename##*.}"
  filename="${full_filename%.*}"
  mkdir -p "$filename/picture"
  mv "$full_filename" "$filename/picture"
done
Run Code Online (Sandbox Code Playgroud)

请在里面创建并运行这个脚本/root/Desktop/My_pictures