端末でファイル名を一括変更する方法 - ファイル名のテキストを最後から前に移動する

端末でファイル名を一括変更する方法 - ファイル名のテキストを最後から前に移動する

私は最近wgetを使ってファイルをダウンロードし始めました。

私のファイルを操作するためにubuntu 16 mateを使用しています。

次のように、ダウンロードしたファイル名に保存する特定の情報を含むカスタムURLを作成します。

  http://website.com/file.txt?title_Three_little_pigs_user_spinach_

FirefoxとDownthemallを使用してURLをダウンロードし、名前変更マスクを使用してファイル名にクエリ文字列を追加すると、次のようになります。

  Three_little_pigs_user_spinach_file.txt

wgetを使用して同じURL(名前変更マスキングをサポートしていないようです)をダウンロードすると、次のようになります。

  file.txt@title_Three_little_pigs_user_spinach_

次のようにファイル名を一括変更する方法があります。

今後:

  file.txt@title_Three_little_pigs_user_spinach_

後ろに:

  title_Three_little_pigs_user_spinach_file.txt

@の後ろのテキストを最初に移動してから@を削除したいと思います。

Ubuntuの端末に名前を変更したいファイルがたくさんあります。これをbashスクリプトに追加できればいいでしょう。

UbuntuとWindowsを実行してもこの方法でファイル名を変更できるWindowsプログラムが見つかりませんでした。

よろしくお願いします。

答え1

Ubuntu 16.04には、Perlが提供する元のバージョンprenameと最新の代替バージョンが付属している必要がありrename、そのうちの1つはsed標準の同様の代替式で動作する必要があります。

prename -n 's/(.*)@(.*)/$2$1/' *@*

または

rename -n 's/(.*)@(.*)/$2$1/' *@*

mmvリポジトリからインストールして使用することもできます。

mmv -n "*@*" "#2#1"

すべての場合において、これは-nテストのためのno-opフラグです。望むように働くことを確信したら取除きなさい。

関連情報