綾小路龍之介の素人思考

[linux] テキスト処理のまとめ

テキスト処理できると、日々の仕事が速く終わる。テキスト抽出するプログラムを外注してC#とかで作らせる国立電話会社は何を考えているのかわからない。

ファイルを作っておく。

$ echo -e '6 7 8\n3 4 5\n0 1 2\n' > fuga.txt
$ cat fuga.txt
6 7 8
3 4 5
0 1 2

$ echo -e '0 1 2\n3 4 5\n6 7 8\n' > hoge.txt
$ cat hoge.txt
0 1 2
3 4 5
6 7 8

縦結合はcatコマンド。

$ cat hoge.txt fuga.txt
0 1 2
3 4 5
6 7 8

6 7 8
3 4 5
0 1 2

横結合はpaste,joinコマンド。

$ paste hoge.txt fuga.txt
0 1 2   6 7 8
3 4 5   3 4 5
6 7 8   0 1 2

$ join hoge.txt fuga.txt
6 7 8 7 8

行抽出はgrep,tail,headコマンド。

$ grep 1 hoge.txt
0 1 2
$ tail -n 2 hoge.txt
6 7 8

$ head -n 2 hoge.txt
0 1 2
3 4 5

列抽出はcutコマンド。

$ cut -d ' ' -f 2 hoge.txt
1
4
7

行変換はsed,trコマンド。

$ sed s/0/1/ hoge.txt
1 1 2
3 4 5
6 7 8

$ cat hoge.txt | tr 0-9 a-z
a b c
d e f
g h i

リファレンス

  1. Linuxコマンドでテキストデータを自在に操る - じっくりコトコト煮込んだみかん
  2. cut, sort, uniq で生産性を5%向上させる - bonar note

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2009-08-04T18:27:28+09:00
  2. Modified: 2009-08-04T18:27:28+09:00
  3. Generated: 2017-10-06T23:09:17+09:00