親ディレクトリ名を使用してファイル名を変更するには?

親ディレクトリ名を使用してファイル名を変更するには?

recon.textファイル名をディレクトリ名に変更したいと思います。私は1000のディレクトリを持っています。助けてください?

7_S4_R1_001_tri10_sha/recon.text
8_S1_R1_001_tri15_sha/recon.text
9_S8_R1_001_tri20_sha/recon.text
10_S5_R1_001_tri25_sha/recon.text
11_S3_R1_001_tri30_sha/recon.text

ベストアンサー1

そして:

rename -n 's!(.*sha)/recon\.text!$1/$1.txt!' */recon.text

-n実際に名前を変更するのに十分な出力がある場合は、スイッチを削除してください。

男の名前を変える

警告する これを行うこともできないかもしれない同じ名前の他のツールがあるので注意してください。

パッケージの一部である名前変更コマンドはutil-linuxそうではありません。

次のコマンドを実行すると(GNU

$ file "$(readlink -f "$(type -p rename)")"

Perl script, ASCII text executableを含めて含まない結果を得ると、ELFこれが正しいツールであるようです=)

そうでない場合は、それをデフォルト値に設定し(通常はすでに適用されている)、Debian次のように派生しますUbuntu

$ sudo apt install rename
$ sudo update-alternatives --set rename /usr/bin/file-rename

RedHatシリーズディストリビューションの場合:

yum install prename

'prename'パッケージは次の場所にあります。エッフェルリポジトリ。


ArchiLinuxの場合:

pacman -S perl-rename

*BSDの場合:

pkg install gprename

またはp5-File-Rename


Macユーザーの場合:

brew install rename

他のディストリビューションにこのコマンドがない場合は、パッケージマネージャを検索してインストールするか、手動で行う(学科がありません...)


このツールはもともとPerlの父親であるLarry Wallによって書かれました。

おすすめ記事