不要なファイルを探す ファイル名・ファイルサイズ・ファイル更新日時

バイオインフォマティクスの解析では大きなファイルを扱うことが多いので、ストレージの管理には気を使います。ストレージの容量を確保するために、不要なファイルはこまめに削除(または他の場所へ移動・圧縮など)することが、もっとも簡単で確実な方法だと思います。

このようなファイル管理に必要な、「不要なファイルの検索」を簡単に行う方法を検討してみましょう。

どんなファイルを探すか?

不要なファイルの条件をいくつか考えてみます。

  • 「.bak」などの拡張子がついているもの
  • サイズがとても大きいファイル(削除しなくても、場所移動や圧縮が必要)
  • 古いファイル

ファイル検索で条件を指定できるのが、findコマンドです。findコマンドでは、ファイル名やサイズ・作成/更新日時などを指定して、ファイルやディレクトリを検索することができます。

ファイル名をキーワードにして探す

ファイル名をキーワードにして、指定したフォルダ(省略時は現在のフォルダ)以下を再帰的に検索します。ファイル名を指定する場合は、-nameオプションを指定します。

拡張子で検索

$ find -name "*.bak"
./work3/ccc.bak
./aaa.bak

拡張子で検索(検索フォルダを指定)

$ find work3/ -name "*.bak"
work3/ccc.bak

ファイル名で検索 先頭やキーワードを含む場合

$ find -name "test*"
./work3/test.bak

$ find -name "*test*"
./work3/mytest.txt
./work3/test.bak

大きなファイルを指定して探す

ファイルサイズを条件に、指定したフォルダ以下を再帰的に検索します。ファイルサイズを指定する場合は、-sizeオプションを指定します。指定する条件に+をつけると「指定サイズ以上」、-を指定すると「指定サイズ以下」を検索します。

$ls -l -h
 973K  a.vcf
  86M  b.zip

ファイルサイズが指定サイズ以上 50M

$find -size +50M
./b.zip

ファイルサイズが指定サイズ以下 3M

$find -size -3M
./a.vcf

作成/更新日を指定して探す

ファイルやディレクトリの更新日時を条件に、指定したフォルダ以下を再帰的に検索します。更新日時を指定する場合は、-mtimeオプションを指定します。作成日時を指定する場合は、-ctimeオプションを指定します。指定する条件に+をつけると「日数以上」、-を指定すると「日数以下」を検索します。

$ ls -ml #更新日を確認
 1月  4 18:30 a.vcf
 1月 15 15:17 b.zip

更新日が3日より前のファイル

ファイルだけを探す場合は、-typeオプションでfを指定します。

$find -mtime +3
./a.vcf

作成日が約1年以内のディレクトリ

フォルダだけを検索したい場合は、-typeオプションでdを指定します。

$ find -ctime -400 -type d
.
./fastx_bin
./bowtie2-2.0.2
./gffread
./gffread/.... #直下のフォルダ群 省略

関連:ハードディスクの容量が足りないかも!と思ったら



ピックアップ記事

  1. R plot 重ねる方法3パターン サンプルでわかるRの使い方

    Rでグラフ (plot) を重ねる方法は、「単純な追加」「図に重ねて描画」「濃淡で重なり表現」の3…
  2. R 使い方 グラフの色 自作のカラーパレットとデフォルトのカラーパレット

    グラフを描画する際、色の組み合わせを1つ1つ考えるのは面倒ですよね。Rには、あらかじめ色の組み合わ…
  3. R subset関数 データフレームやmatrixからの条件指定による行・列の抽出

    R の subset関数は、データフレームやマトリックスから条件にマッチした部分集合を取り出します…

人気記事

  1. IGV, 解析ツール

    IGV 使い方 インストール〜便利な使い方まで | リファレンス・マッピングデータ・アノテーションを読み込んで表示しよう
    IGV(Integrative Genomics View…
  2. Excel, その他, 統計

    z-score 計算方法 エクセル(Excel) 編
    統計処理で、大きく変化しているなどの判断基準にも使われる値…
  3. R データ型 - 文字列・ベクター・データフレーム・マトリックス など-, R言語, スクリプト

    R subset関数 データフレームやmatrixからの条件指定による行・列の抽出
    R の subset関数は、データフレームやマトリックスか…

おすすめ記事

  1. awk, bash 文字列操作, シェルスクリプト

    bash 部分文字列・置換・長さ・連結・分割の文字列処理
    bashのよく使う文字列処理、部分文字列・置換・連結・長さ…
  2. R言語, グラフ

    R 使い方 軸・ラベルの調整(向き・サイズ・色など) グラフの描き方
    Rによるplot(グラフ)の描画は、手軽で大変便利です。た…
  3. bash 応用, シェルスクリプト

    シェル スクリプト ファイル存在チェック・空のファイルチェック
    bashでスクリプトを作成するときに、よく使うのがファイル…