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