我的目录结构如下
Directory1\file1.jpg
\file2.jpg
\file3.jpg
Directory2\anotherfile1.jpg
\anotherfile2.jpg
\anotherfile3.jpg
Directory3\yetanotherfile1.jpg
\yetanotherfile2.jpg
\yetanotherfile3.jpg
我正在尝试在 ubuntu 上的 bash shell 中使用命令行从每个目录中获取第一个文件并将其重命名为目录名称并将其上移一级,使其与目录并排。
在上面的例子中:
file1.jpg
将被重命名为Directory1.jpg
并放置在文件夹旁边Directory1
anotherfile1.jpg
将被重命名为Directory2.jpg
并放置在文件夹 Directory2 旁边yetanotherfile1.jpg
将被重命名为Directory3.jpg
并放置在文件夹旁边Directory3
我试过使用:
find . -name "*.jpg"
但它没有按顺序列出文件(我需要第一个文件)。
这一行:
find . -name "*.jpg" -type f -exec ls "{}" +;
以正确的顺序列出文件,但是如何只选择每个目录中的第一个文件并将其上移一级?
任何帮助,将不胜感激!
编辑:当我提到第一个文件时,我的意思是每个 jpg 的编号从 0 到该文件夹中的许多文件 - 例如:file1、file2...... file34、file35 等......另外要提到的一件事是文件的格式是随机的,所以编号可能从 0 或 1a 或 1b 等开始...