簡単!Linuxコマンドでマイクロアレイ解析結果を自由自在2

今回も、引き続き、マイクロアレイ解析結果をLinuxコマンドを用いて簡単に操作する方法を紹介していきたいと思います。今回は、解析結果ファイルの内容操作から少し脱線しますが、使用頻度の高いファイルの検索について紹介させて頂こうと思います。

コマンド操作で作業を行う際、一番困るのはファイルの場所がわかりづらい点と聞くことがあります。Windows等ではエクスプローラーを使って目で確認しながらファイル操作できますが、コマンド操作では慣れが必要です。しかし、慣れるとより速く・より便利に使えるので試してみる価値があると思います。

今回は、簡単で便利なファイル検索を紹介します。

find
ファイルを検索します。
検索対象となるディレクトリを指定して、ファイルを検索します。その時、名前や種類を指定できます。拡張子名が「txt」や、ファイル名が「my_」で始まる等を指定できます。

使い方1(拡張子がtxtであるファイルを検索)
find ~/work -name “*.txt”

使い方2(ファイル名がmy_で始まるファイルを検索)
find . -name “my_*”

grep
指定されたファイルや結果データ内をキーワード検索します。
とても有名なコマンドなので、ご存知の方もいらっしゃると思いますが、指定データに対して指定したキーワードに合致(含む等)する行を取得します。

使い方1(指定ファイル中から、mouseというキーワードを含む行を取得)
grep “mouse” data.txt

使い方2(コマンドの結果に対して、mouseを含む行を取得して、行数をカウント)
cat data.txt | grep “mouse” | wc -l

そして、上記の2つのコマンドを併せて使うと、「○○.datというファイルの中に、mouseというキーワードが入っているファイルはどれだったかな?」というような検索ができます。xargsは、findの結果ファイルを1つずつgrepに渡します。

使い方(findで*.txtで絞り込んで、mouseというキーワードを含む行を表示)
find ~/mydir -name “*.txt” | xargs grep “mouse” | less

サンプル>

$ ls mydir
-rw-------+ 1 Administrators None 33 Nov 30 18:30 test1.dat
-rw-------+ 1 Administrators None 33 Nov 30 18:28 test1.txt
-rw-------+ 1 Administrators None 25 Nov 30 18:31 test2.dat
-rw-------+ 1 Administrators None 25 Nov 30 18:30 test2.txt
$ find ~/work -name "*.txt" | xargs grep "mouse" | less
~/mydir/test1.txt:mouse 1
~/mydir/test1.txt:mouse 2

結果
拡張子がtxtであるファイルについて、mouseに該当する行だけが抽出できました。

 

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください