言語化の練習

プログラマの日記です。プログラミング・読書感想・雑談が中心です。楽しく働くためにどうしたらよいか日々試行錯誤しています。

【Linux】catコマンドとリダイレクトを使いこなして作業効率アップ!

大量のデータを加工・編集しなければいけないときに、Excelテキストエディタを使用することがあるかもしれません。
以下のLinuxコマンドを覚えておくと、作業効率がアップするかもしれません。
catコマンドで標準出力→出力内容を加工する という技を覚えると、 欲しいデータ形式が簡単に整えられます。

cat

処理概要

ファイルの内容を表示する。

コマンド例

$ cat test.txt
aaaa
bbbb
cccc

用途

  • とりあえずファイルの中身を見たい時
  • ファイルの内容をリダイレクトして加工したい時

リダイレクト

処理概要

標準出力を別ファイルに出力する。

コマンド例(catとの組み合わせ)

$ cat test.txt > new.txt  

用途

  • 出力結果を抽出・加工して別ファイルを作成したい時

grep

処理概要

文字列を検索する。

コマンド例(catとの組み合わせ)

$ cat test.txt | grep a
aaaa

用途

  • 元ファイルのデータを絞り込みたい時

cut

処理概要

ファイルから一部分を抜き出す。

コマンド例

# csvの2カラム目を取得する
$ cat test.csv | cut -d ',' -f 2 > 2.csv

オプション

  • -d :区切り文字を設定する
  • -f :n番目のカラムを取得する

用途

  • csvなど規則的なデータの一部分を抜粋したい時
  • 日時(YYYY/MM/DD HH:MM:SS)のYYYY/MM/DD HHだけ抽出するなど サマリデータを作るための元ネタを用意したい時

paste

処理概要

ファイルを連結する。

コマンド例

#ファイルをカンマ区切りで結合させる
paste -d, 1.csv 2.csv 3.csv 4.csv > join.csv

オプション

  • -d :区切り文字を設定する

用途

  • csvファイルを再形成したい時