本記事ではLinuxで指定されたファイルだけを複数一括で削除する方法をご紹介します。
ファイルがごちゃ混ぜになっているディレクトの中で条件に合致するファイルだけを削除したい
2パターンの状況ごとに実行コマンドと実行結果を書いています。
あなたの状況に合わせて使ってみてください。
もし、うまくいけば相当効率化され、別のことに対応する時間が増えます。
仕事から早く帰れるようになっちゃうかもしれませんよ!
複数ファイルのコピーなら以下記事がおすすめ!
複数ファイルを一括でコピーするコマンド>>>Linuxでディレクトリ内にある指定ファイルを複数一括でコピーする方法
本記事で紹介するコマンドが使える環境
シェルが使える環境であれば基本的に使うことができます。
Linux
Linuxはシェルが使えるので、本記事で紹介する削除コマンドが使えます。
- Ubuntu
- Debian
- CentOS
- RedHat Enterprise Linux
などです。シェルさえ使えれば大丈夫です。
Mac
Macもシェルが使えるので、本記事で紹介する削除コマンドが使えます。
Windows(条件付き)
Windowsはデフォルトでシェルが使えないので、Cygwinやubuntu bashをインストールする必要があります。
実行環境
OS:CentOS Linux release 7.8.2003(Core)
コマンド実行対象のディレクトリ構造
今回は2つのパターンで条件に合致するファイルを削除したいと思います。
パターン1
パターン1はjpgとpngファイルがごちゃ混ぜになっている状態です。この状態からjpgファイルだけを削除します。
img
|-test1.jpg
|-test2.jpg
|-test3.jpg
|-test4.png
|-test5.png
パターン2
パターン1とは異なりjpgファイルにAAA、BBB、CCCという文字列がついているファイルがあります。
このうちBBBとCCCの文字列がついているjpgファイルを一括で削除します。
delFileChar.txtは事前にて作成します。
delFileChar.txt
img
|-testAAA1.jpg
|-testAAA2.jpg
|-testAAA3.jpg
|-test4.png
|-test5.png
|-testBBB6.jpg
|-testBBB7.jpg
|-testCCC8.jpg
|-testCCC9.jpg
事前準備
パターン1
事前準備はありません。
パターン2
cat用のファイルを作成します。
delFileChar.txtというファイル名で今回削除したい文字列を含むように編集します。
delFileChar.txtの内容↓
testBBB
testCCC
Linuxで指定されたファイルだけを複数一括で削除するコマンド
前提としてimgディレクトリのある場所がカレントディレクトリとします。
パターン1
コマンド書式
find 削除したいファイルが存在するディレクトリ -name "*.拡張子" -type f | xargs -I {} rm {}
実行例
find ./ -name "*.jpg" -type f | xargs -I {} rm {}
パターン2
コマンド書式
cat 指定した文字列を含むファイル | xargs -I {} find 削除したいファイルが存在するディレクトリ -name "{}*.jpg" -type f | xargs -I {} rm {}
実行例
cat delFileChar.txt | xargs -I {} find ./ -name "{}*.jpg" -type f | xargs -I {} rm {}
コマンド実行後のディレクトリ
パターン1
パターン1はjpgとpngファイルがごちゃ混ぜになっている状態からpngファイルだけが残りました。
img
|-test4.png
|-test5.png
パターン2
BBB、CCCという文字列がついているファイルが削除されtestAAA*.jpgとpngファイルだけが残りました。
delFileChar.txt
img
|-testAAA1.jpg
|-testAAA2.jpg
|-testAAA3.jpg
|-test4.png
|-test5.png
Linuxで指定された条件に合致するファイルだけを複数一括で削除する方法
シェルはコツをつかんでしまえば、かなり作業が楽になります。
応用次第でかなりの工数削減になりますので、シェルを学ぶことをお勧めします。
準備さえすればどんなOSでもシェルは使えるので、シェルおすすめです。
プログラミング言語からシェルを呼び出すことだってできますしね。
プログラミングするよりも早いことだってあります。
Linux初心者おすすめ本↓
LPICというLinuxの資格のための本です。
Linuxについて体系的に学べます。
おすすめ記事>>>Linuxでディレクトリ内にある指定ファイルを複数一括でコピーする方法
コメント