我的目录结构如下
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 等开始...
您可以进入每个目录并运行:
$ mv `ls | head -n 1` ..
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)