テキストストリーム
-CentOS- | -Ubuntu-

ファイル内の各行から指定した列のみを表示する

「cut」コマンド

書式
cut [オプション] ファイル
主なオプション名 説明
-d”記号” 指定した記号を区切り文字として扱う(既定はスペース、タブ)
-f 列1[,列2…] 指定した列を表示する。
ファイル 表示するファイルを指定する。

cutコマンドの実行

catコマンドでpasswdファイルを参照する。

$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
.
.
.

catコマンドで[:]で区切られた1列目と6列目を指定してpasswdファイルを参照する。

$ cut -d":" -f1,6 /etc/passwd
root:/root
daemon:/usr/sbin
bin:/bin
sys:/dev
sync:/bin
games:/usr/games
.
.
.

 

ファイルを行単位で結合して表示する

「paste」コマンド

書式
paste [オプション] ファイル1 ファイル2
主なオプション名 説明
-d”記号” 指定した記号を区切り文字として扱う(既定はスペース、タブ)
ファイル 表示するファイルを指定する。

cutコマンドの実行

catコマンドでファイルを参照する。

$ cat paste1.txt
aichi
fukuoka
hokkaido
osaka
tokyo

$ cat paste2.txt
kato
sato
suzuki
tanaka
yoshida

$ paste paste1.txt paste2.txt
aichi kato -1-
fukuoka sato -1-
hokkaido suzuki -1-
osaka tanaka -1-
tokyo yoshida -1-

  1. 2つのファイルの内容を列で結合して表示する。

 

指定した2つのファイルの中から共通の列に基づき結合する

「join」コマンド

書式
join [オプション] ファイル1 ファイル2
主なオプション名 説明
-t”記号” 指定した記号を区切り文字として扱う(既定はスペース、タブ)
-1 列 ファイル1の指定した列を共通の列として扱う(既定は1列目)
ファイル 表示するファイルを指定する。

joinコマンドの実行

catコマンドでファイルを参照する。

$ cat join1.txt
1:aichi
2:fukuoka
3:hokkaido
4:osaka
5:tokyo

$ cat join2.txt
1:kato
2:sato
3:suzuki
4:tanaka
5:yoshida

$ join -t":" join1.txt join2.txt
1:aichi:kato -1-
2:fukuoka:sato -1-
3:hokkaido:suzuki -1-
4:osaka:tanaka -1-
5:tokyo:yoshida -1-

  1. 結合した内容が表示される。

 

参照元情報

LinuCレベル1 合格教本
LinuCレベル1 合格教本