Linuxの基本コマンド:ファイルの行数等の情報を取得「wc」の使い方

スポンサーリンク

バイオインフォマティクスの解析では、大量のデータを扱うため、コマンドラインを活用することが不可欠です。その中でも、GNU coreutils に含まれる wc コマンドは、ファイルの行数・単語数・バイト数などを簡単に取得できる便利なツールです。

本記事では、wc コマンドの基本から応用まで、バイオインフォマティクスの視点で解説します。


1. wc コマンドの基本

wc コマンドは、ファイルの以下の情報を取得できます。

  • 行数(lines)-l オプション
  • 単語数(words)-w オプション
  • 文字数(characters)-m オプション
  • バイト数(bytes)-c オプション

1.1 基本的な使い方

wc file.txt

出力例:

  100  500  3000 file.txt

これは、

  • 100 行
  • 500 単語
  • 3000 バイトfile.txt に含まれていることを示しています。

1.2 特定の情報だけ取得

行数を取得

wc -l file.txt
100 file.txt

単語数を取得

wc -w file.txt
500 file.txt

文字数(UTF-8で正しくカウント)を取得

wc -m file.txt

バイト数を取得

wc -c file.txt

1.3 複数ファイルの統計を取得

複数のファイルに対して wc を実行すると、それぞれの統計と合計が表示されます。

wc file1.txt file2.txt

出力例:

  100   500  3000 file1.txt
  200  1000  6000 file2.txt
  300  1500  9000 total

このように、ファイルごとの統計と合計が計算されます。


2. バイオインフォマティクスでの活用例

バイオインフォマティクスでは、FASTQ・FASTA・CSV・TSV などのテキストデータ を解析する場面が多くあります。wc は、そのようなファイルの概要を把握するのに役立ちます。

2.1 FASTQ ファイルのリード数を取得

FASTQ ファイルは 4行で1リード というフォーマットのため、リード数は wc -l の結果を 4 で割ることで求められます。

wc -l sample.fastq
400000 sample.fastq

リード数を計算:

expr 400000 / 4

または awk を使って:

wc -l sample.fastq | awk '{print $1/4}'

結果:

100000

この FASTQ ファイルには 100,000 リードが含まれていると分かります。


2.2 FASTA ファイルの配列数をカウント

FASTA ファイルでは、配列名(> で始まる行)の数を数えれば配列の数が分かります。

grep '^>' sequence.fasta | wc -l

このコマンドは、> で始まる行を grep で抽出し、それを wc -l でカウントします。


2.3 TSV・CSV データの行数を確認

バイオインフォマティクスでは、遺伝子発現データやアノテーションデータを TSV(タブ区切り)や CSV(カンマ区切り)で扱うことが多いです。ファイルのレコード数を確認するのに wc -l が便利です。

wc -l gene_expression.tsv

これにより、データの規模を把握できます。


3. 応用編:他のコマンドと組み合わせる

3.1 ファイルの行数をリアルタイムで監視

例えば、ロングランのパイプライン処理中に出力ファイルの行数をリアルタイムで監視することができます。

watch -n 5 "wc -l output.txt"

このコマンドは output.txt の行数を5秒ごとに更新表示します。


3.2 複数の FASTQ ファイルのリード数を一括取得

複数の FASTQ ファイルについてリード数を一覧表示する場合:

for file in *.fastq; do echo -n "$file: "; expr $(wc -l < "$file") / 4; done

出力例:

sample1.fastq: 100000
sample2.fastq: 150000
sample3.fastq: 200000

4. まとめ

wc コマンドは、シンプルながらバイオインフォマティクス解析において非常に役立つツールです。特に FASTQ や FASTA のリード・配列数の確認、CSV/TSV のデータ規模の把握 など、基本的なデータ解析の第一歩として活用できます。

本記事で紹介したポイント

wc の基本的な使い方(行数、単語数、バイト数)
✅ FASTQ・FASTA・CSV などの生物データ解析への応用
grepwatch との組み合わせによる応用テクニック

バイオインフォマティクスにおける Linux コマンドの活用は、解析の効率を大幅に向上させます!!今後、他のコマンドの活用法についても紹介していきますので、お楽しみに〜!

タイトルとURLをコピーしました