すべてを

▼開く

閉じる▲

テキストの各行から指定列迄を表示する

○ファイル「data1.txt」の各行の2列目迄を表示する

catコマンドでファイル「data1.txt」の内容を見る。各データはタブで区切られている。
$ cat data1.txt
        日の出  南中    日の入り
5月1日  5:09    11:56   18:44
5月2日  5:08    11:56   18:45
5月3日  5:07    11:56   18:46
5月4日  5:06    11:56   18:46
5月5日  5:05    11:56   18:47

cutコマンドで-fオプション、文字位置、標準入力の切り替え、ファイル名を指定する
$ cut -f -2 < data1.txt
        日の出
5月1日  5:09
5月2日  5:08
5月3日  5:07
5月4日  5:06
5月5日  5:05

cutコマンドで-fオプション、指定列迄を示す「-」を数字の前に付けて列を「2」と指定、リダイレクト「<」でコマンドに入力するファイル「data1.txt」を指定する。ファイルの第2列目までが表示される。元ファイルのデータは、列がタブで区切られている必要がある。

テキストの各行から指定列以降を表示する

○ファイル「data1.txt」の各行の3列目以降を表示する

catコマンドでファイル「data1.txt」の内容を見る。各データはタブで区切られている。
$ cat data1.txt
        日の出  南中    日の入り
5月1日  5:09    11:56   18:44
5月2日  5:08    11:56   18:45
5月3日  5:07    11:56   18:46
5月4日  5:06    11:56   18:46
5月5日  5:05    11:56   18:47

cutコマンドで-fオプション、文字位置、標準入力の切り替え、ファイル名を指定する
$ cut -f 3- < data1.txt
南中    日の入り
11:56   18:44
11:56   18:45
11:56   18:46
11:56   18:46
11:56   18:47

cutコマンドで-fオプション、表示する列「3」とそれ以降を示す「-」を数字の後に付け、リダイレクト「<」でコマンドに入力するファイル「data1.txt」を指定する。ファイルの第3列以降が表示される。元ファイルのデータは、列がタブで区切られている必要がある。

テキストの各行から指定列を表示する

○ファイル「data1.txt」の各行の4列目を表示する

catコマンドでファイル「data1.txt」の内容を見る。各データはタブで区切られている。
$ cat data1.txt
        日の出  南中    日の入り
5月1日  5:09    11:56   18:44
5月2日  5:08    11:56   18:45
5月3日  5:07    11:56   18:46
5月4日  5:06    11:56   18:46
5月5日  5:05    11:56   18:47

cutコマンドで-fオプション、列数、標準入力の切り替え、ファイル名を指定する
$ cut -f 4 < data1.txt
日の入り
18:44
18:45
18:46
18:46
18:47

cutコマンドで-fオプション、表示する列「4」を指定し、リダイレクト「<」で標準入力をファイルに切り替え、コマンドに入力するファイル「data1.txt」を指定する。コマンドの実行結果は、標準出力(この場合は画面)にファイルの第4列が表示される。

元ファイルのデータは、列がタブで区切られている必要がある。

●cutコマンドはタブの数で列を判断している

cutコマンドは、タブの数を数えて列を判断している。そのため、タブの数がおかしいと、意図した列を表示することができない。

第2列の前のタブを増やしたサンプル
$ cat data1-.txt
        日の出  南中    日の入り
5月1日  5:09    11:56   18:44
5月2日          5:08    11:56   18:45
5月3日                  5:07    11:56   18:46
5月4日                          5:06    11:56   18:46
5月5日                                  5:05    11:56   18:47

コマンド実行結果
$ cut -f 1,4 < data1-.txt
        日の入り
5月1日  18:44
5月2日  11:56
5月3日  5:07
5月4日
5月5日

上の例では、第2列の前にタブが1個、2個、3個,,,5個と入っている。このサンプルファイルを元にしたコマンド実行結果を見ると、3つ目のタブの後にくる列を表示していることがわかる。単にタブの数を数えているだけで、列の数を判断しているのではないことが判る。

テキストの各行から指定列(複数)を表示する

○ファイル「data1.txt」の各行の1,4列目を表示する

catコマンドでファイル「data1.txt」の内容を見る。各データはタブで区切られている。
$ cat data1.txt
        日の出  南中    日の入り
5月1日  5:09    11:56   18:44
5月2日  5:08    11:56   18:45
5月3日  5:07    11:56   18:46
5月4日  5:06    11:56   18:46
5月5日  5:05    11:56   18:47

cutコマンドで-fオプション、列数、標準入力の切り替え、ファイル名を指定する
$ cut -f 1,4 < data1.txt
        日の入り
5月1日  18:44
5月2日  18:45
5月3日  18:46
5月4日  18:46
5月5日  18:47

cutコマンドで-fオプション、表示する列「1,4」を指定し、リダイレクト「<」でコマンドに入力するファイル「data1.txt」を指定する。ファイルの第1列と第4列が表示される。元ファイルのデータは、列がタブで区切られている必要がある。