PR

Linuxで指定された条件に合致するファイルだけを複数一括で削除する方法

Linux
記事内に広告が含まれています。

本記事では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でディレクトリ内にある指定ファイルを複数一括でコピーする方法

コメント