ファイル名からURIエンコーディングを削除する方法は?

ファイル名からURIエンコーディングを削除する方法は?

これはおそらく非常に簡単な質問であることを知っていますが、私はまだコマンドラインに初めてアクセスし、基本的なコマンドだけをマスターしました。

私が通っていた大学で、講義プレゼンテーションのいくつか(約25個ほど)をダウンロードしましたが、名前が...

L2%20Development%20of%20immune%20system.pptx
L4%20Molecular%20Recognition.pdf

ご覧のとおり、%20スペースの代わりにURLエンコードを使用してダウンロードされます。

%20私の質問は、これらすべてのファイルの名前をまとめて変更して削除し、スペースに変更する方法です。

ベストアンサー1

renameDebianとその派生製品(Ubuntuを含む)では、各ファイル名にPerl式を適用することができます。

rename 's/%20/ /g' L*
        |  |  | |   |
        |  |  | |   +--- Files to match
        |  |  | +------- globally
        |  |  +--------- with space
        |  +------------ %20
        +--------------- Substitute

スペースの代わりに下線を使用することを考えてみましょう。一般的にはcli世界で生活が楽になるからです。

すべてのURIエンコーディングに一般化されています。

rename 'use URI::Escape; $_ = uri_unescape $_' *%*

おすすめ記事