多くの場合、 小文字のファイル名とディレクトリ名。 名前をXNUMXつずつ変更するのは非常に大変な作業です。 特に数百または数千のファイルがある場合、ジョブはより複雑になり、手作業で渡すのが難しくなります。 しかし、それは不可能であることや、完全に高速で自動化された方法でそれを行う方法がないことを意味するものではありません。
しかし、純粋な美学や各ユーザーの好みを超えて、技術的な問題に関するものもあります。 アプリは大文字の特定の名前では機能しません そしてそれらは変換される必要があります。 これらのアプリのXNUMXつに出くわしたとき、おそらくあなたは長い間あらゆる種類の名前のファイルを蓄積していて、戻るのは複雑になります。 しかし、心配しないでください。このチュートリアルで示すように、簡単な解決策があります...
大文字を小文字に変換する
最初に知っておくべきことは 次のコマンドは、すべて大文字を小文字に変換します、そのディレクトリ内にサブディレクトリがあるかどうかを含みます。 したがって、すべてを小文字に変換したくない場合は、特定のディレクトリで行うだけで、すべてが自動的に変換されます。 これは私にとって重要であるように思われるので、後で問題が発生せず、小文字に変換したくない名前が変換されます。
一方、あなたは必要です 名前変更プログラムをインストールする。 インストールしていない場合は、ディストリビューションのパッケージマネージャーを使用して簡単にインストールできます。 ただし、通常はインストールする必要があるため、すべての場合にインストールする必要はありません。 このツールを使用すると、通常のmvを使用して名前をXNUMXつずつ変更する代わりに、複数の名前を同時に変更できるようになります...
仕事に取り掛かる前に知っておく必要があるもうXNUMXつのことは、大文字から小文字に変換するときに同じ名前に出くわした場合、変換されないということです。 あなたはすでにLinuxが持っていることを知っています 大文字と小文字を区別 FSで使用されるため、大文字と小文字が区別されます。 つまり、Hello2とHELLO2というファイルがある場合、システムはそれらを区別します。 しかし、もちろん…、小文字にすると、両方ともhello2と呼ばれ、それは不可能です。 したがって、エラーメッセージがスローされ、変換されません。
その後、あなたはあなたが知る必要があるすべてを持っています、そして私たちは名前を大文字から小文字に変換し始めることができます。 ザ・ 汎用コマンド 次のようになり、必要なディレクトリを指すように変更できます。
<br data-mce-bogus="1"> <em>find <nombre_directorio> -depth | xargs -n 1 rename -v 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;</em>
Debes 交換 小文字にするディレクトリの名前またはディレクトリのパス。 たとえば、テストである画像で示した例のように、他の画像でもかまいません。 初心者の場合、パスとは、現在のディレクトリ内に直接ない場合のパスを意味すると言います。 たとえば、〜/にいるが、/ホーム/ユーザー/ダウンロードで行動したい場合。
スクリプトに変換する
促進するために 大文字と小文字の変換、スクリプトを作成できます 変換が必要になるたびに上記のコマンドを入力する必要はありません。 これは、常に名前を渡している人にとって非常に便利です。 また、$ PATH環境変数のいずれかのパス内に配置すると、作業している同じディレクトリに配置したり、フルパスを指定したりすることなく、名前を呼び出すだけで実行できます...
たくさん コンバータスクリプトを作成するために従う必要のある手順 音:
- 最初は / binディレクトリに移動します そこにスクリプトを含めて、他のコマンドと同じように使用し、端末からその名前を呼び出すだけです。
<br data-mce-bogus="1"> cd ~/bin<br data-mce-bogus="1">
- その後 nanoで作成、またはお気に入りのテキストエディタを使用して、スクリプトを含むファイルを好きなように呼び出します。 私はそれをマユトミヌと呼ぶつもりです:
sudo nano mayutominu.sh
- nano内に、次のテキストを貼り付ける必要があります このスクリプトのコード bashから:
</pre><pre>#!/bin/bash if [ -z $1 ];then echo "Uso :$(basename $0) parent-directory" exit 1 fi all="$(find $1 -depth)" for name in ${all}; do new_name="$(dirname "${name}")/$(basename "${name}" | tr '[A-Z]' '[a-z]')" if [ "${name}" != "${new_name}" ]; then [ ! -e "${new_name}" ] && mv -T "${name}" "${new_name}"; echo "${name} was renamed to ${new_name}" || echo "${name} wasn't renamed!" fi done exit 0</pre><pre>
- 現在 ファイルを保存します キーの組み合わせCtrl + Oを使用し、Ctrl + Xで終了します。 スクリプトで作成されたmayutominu.shファイルはすでにあります。以下は次のとおりです。 許可を与える 実行の:
sudo chmod +x mayutominu.sh
- あなたはついにそれを手に入れました すぐに使える。 どうやってやるの? さて、前のセクションと同じ例を続けて、テストディレクトリの名前を大文字から小文字に変更したい場合は、次のようにすることができます。
mayutominu Prueba
- あなたが知っている、あなたが指定する必要がある場合 フルパス、またはパス、 ディレクトリが現在の位置にない場合も可能です。 例えば:
mayutominu /home/usuario/Descargas
お役に立てば幸いです。ご質問やご提案がございましたら、 コメントを残すことができます...
Debianではこれを教えてくれます:
-bash:予期しないトークン `newlineの近くの構文エラー
見つける-深さ| xargs -n 2 rename -v's /(.*)\/(((^\/)*)/$ 1 \ / \ L $ 1 / '{} \;