すべてを

▼開く

閉じる▲

カンマで区切られたテキストの指定列を表示する

○ファイル「data3.txt」の1,4列目のテキストを表示する

catコマンドでファイル「data3.txt」の内容を見る。各データはカンマで区切られている。
$ cat data3.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コマンドで-dオプション、区切り文字、-fオプション、列数、標準入力の切り替え、ファイル名を指定する
$ cut -d , -f 1,4 < data3.txt
,日の入り
5月1日,18:44
5月2日,18:45
5月3日,18:46
5月4日,18:46
5月5日,18:47

cutコマンドで-dオプション、区切り文字を「,」-fオプション、表示する列位置「1,4」を指定し、リダイレクト「<」でコマンドに入力するファイル「data3.txt」を指定する。ファイルの第1列と第4列が表示される。

スペースで区切られたテキストの指定列を表示する

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

catコマンドでファイル「data2.txt」の内容を見る。各データはスペースで区切られている。
$ cat data2.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コマンドで-dオプション、区切り文字、列数、標準入力の切り替え、ファイル名を指定する
$ cut -d \   -f 4 < data2.txt
日の入り
18:44
18:45
18:46
18:46
18:47

cutコマンドで-dオプション、区切り文字を表す「\ 」表示する列「4」を指定し、リダイレクト「<」でコマンドに入力するファイル「data2.txt」を指定する。標準出力(この場合は画面)にファイルの第4列が表示される。元ファイルのデータは、列がスペースで区切られている必要がある。また、そのスペースは1つでなければ正しく指定列を表示できない。

●cutコマンドはスペースの数で列を判断している

cutコマンドは、スペースの数を数えて列を判断している。そのため、スペースの数がおかしいと、意図した列を表示することができない。
$ cat data4.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 -d \   -f 4 < data4.txt
日の入り
18:44
11:56
5:07

上の例では、第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列が表示される。元ファイルのデータは、列がタブで区切られている必要がある。

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

○ファイル「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」の各行の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」の各行の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列目までが表示される。元ファイルのデータは、列がタブで区切られている必要がある。