GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでファイル名からスペースを削除する方法

他のオペレーティングシステム環境では、スペースを含むファイル名を作成して使用することは、取り返しのつかないほど許容されます。ただし、Linuxオペレーティングシステムドメインに入ると、そのようなファイル名の存在は不便になります。

たとえば、Linuxオペレーティングシステム環境内に次のファイル名が存在することを考慮してください。

これらのファイル名のコマンドラインビューによると、これらのファイル名の処理または移動は、命名規則に空白があるため、不当な不便になります。

さらに、Linuxのファイル名スペースは、文字列%20としてWebベースのアプリケーションを介してそれらを処理するユーザーにとって不利です。 処理済み/最終ファイル名の一部として含まれる傾向があります。

この記事では、Linuxオペレーティングシステム環境で作業しているときにファイル名のスペースを取り除くのに役立つ有効なアプローチについて説明します。

前提条件

Linuxターミナルまたはコマンドラインインターフェイスの使用法をよく理解してください。実用的な参照の目的で、次のスクリーンキャプチャに示されている間隔のあるファイル名を使用します。

1。特定のファイル拡張子を持つファイル名からスペースを削除する

findコマンドをmvコマンドと組み合わせて、特定のファイル拡張子(.xmlなど)を持つファイル名のスペースを削除するという機能的な目的を効果的に実行します。 ファイル。

$ find . -type f -name "* *.xml" -exec bash -c 'mv "$0" "${0// /_}"' {} \;

2。名前変更コマンドを使用したファイル名スペースの置き換え

または、検索を使用する代わりに mv ファイル名スペースをトレースして置換するコマンドでは、単一の名前の変更を使用できます コマンド。これは真珠の拡張機能であり、次のLinuxオペレーティングシステムディストリビューションにインストールできます。

$ sudo apt install rename         [On Debian, Ubuntu and Mint]
$ sudo yum install rename         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-apps/rename  [On Gentoo Linux]
$ sudo pacman -S rename           [On Arch Linux]
$ sudo zypper install rename      [On OpenSUSE]    

インストールしたら、名前を変更 コマンドは次のように使用できます:

$ rename 's/\s/_/g' ./*.xml

上記のコマンドは、すべての.xmlのスペースを置き換えます アンダースコア付きのファイル。ファイル拡張子に関係なく、すべてのファイル名のすべてのスペースを置き換えるには、次を使用します。

 
$ rename 's/\s/_/g' ./*.* 

3。 Forループとmvコマンドを使用したファイル名スペースの置き換え

このアプローチは、特定の/ターゲットフォルダー/ディレクトリに存在するさまざまなファイル名形式のファイル名スペースを取り除くのに効果的です。 forループ 関数は、ターゲットのディレクトリ/フォルダ内のファイル名スペースをクエリし、その後、それらのファイル名スペースをアンダースコア表記に置き換えます。

このアプローチの次の実装を検討してください。

$ for f in *; do mv "$f" `echo $f | tr ' ' '_'`; done

この記事を始める前は、特にLinuxターミナルからファイルをコピーして移動したり、Webベースのプログラムを介してファイルを処理したりする必要がある場合、ファイル名スペースは厄介でした。このチュートリアルは、そのような不便に対して機能する実行可能なソリューションを提供しました。


Linux
  1. Linuxでグループにユーザーを追加またはグループから削除する方法

  2. Linuxでグループからユーザーを削除する方法[クイックヒント]

  3. Linuxコマンドを使用してプレーンテキストファイルから重複した単語を削除する方法

  1. ファイル(タブとスペースを含む)から空白行を削除する方法は?

  2. Linuxからジェンキンスを完全に削除するにはどうすればよいですか

  3. Linux (CentOS 7.1) から以前のバージョンの .NET Core を削除する方法

  1. Linux – Linuxからブートローダーを実行する方法は?

  2. Linux でファイル名から空白を削除する

  3. ファイル名から無効な文字を削除するには?