ファイルを1つ上のレベルに移動し、ファイル名の前にフォルダ名を追加しますか?

ファイルを1つ上のレベルに移動し、ファイル名の前にフォルダ名を追加しますか?

テスト環境:

  • ~ からディレクトリを作成し、 ~0から ~ までの9ファイルで埋めます。az
    $ mkdir {0..9} && touch {0..9}/{a..z}
    
  • 結果find:
    $ find -type f
    ./0/a
    ./0/b
    
    ...
    
    ./9/y
    ./9/z
    

出力を次のように変換するにはどうすればよいですか?

./0a    
./0b

...

./9y
./9z

ベストアンサー1

Perlを使用したスタンドアロンコマンドrename

rename -n 's|/||' */*

すべてが正常な場合は、-n残りの空のディレクトリを削除してから削除します。

rmdir {0..9}

おすすめ記事