私のディレクトリ構造は次のとおりです
Directory1\file1.jpg
\file2.jpg
\file3.jpg
Directory2\anotherfile1.jpg
\anotherfile2.jpg
\anotherfile3.jpg
Directory3\yetanotherfile1.jpg
\yetanotherfile2.jpg
\yetanotherfile3.jpg
ubuntuのbashシェルでコマンドラインを使用して、各ディレクトリから最初のファイルを取得し、その名前をディレクトリ名に変更し、1レベル上に移動して、ディレクトリの横に配置しようとしています。
上記の例では:
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 "{}" +;
ファイルは正しい順序でリストされていますが、各ディレクトリの最初のファイルだけを選択して 1 レベル上に移動するにはどうすればよいですか?
どんな助けでも大歓迎です!
編集: 最初のファイルを参照するとき、各 jpg には 0 からそのフォルダー内のファイル数までの番号が付けられます。たとえば、file1、file2 ...... file34、file35 などです。ファイルの形式はランダムなので、番号付けは 0 または 1a または 1b などから始まる可能性があります...