LPIC コマンドまわりについて その2

nlコマンド

cat -nのようにファイルの一部に行番号をつける

odコマンド

バイナリファイルの内容を8進数や16進数で表示

# od -t x /etc/localtime
0000000 66695a54 00000032 00000000 00000000
0000020 00000000 03000000 03000000 00000000
0000040 09000000 03000000 0c000000 7085cec3
0000060 901e3ed7 8016ecd7 9016f9d8 80f8cbd9
0000100 101d07db 80daabdb 10ffe6dc 80bc8bdd
0000120 01020102 01020102 7e000002 00000090
0000140 01a08c00 7e000004 43080090 4a00544a
0000160 4a005444 00005453 00000000 695a5400
0000200 00003266 00000000 00000000 00000000
0000220 00000000 00000005 00000005 00000000
0000240 0000000b 00000005 ffffff10 a4c265ff
0000260 ffffff70 e3ce74ff ffffff70 85cec3ff
0000300 ffffff70 1e3ed7ff ffffff90 16ecd7ff
0000320 ffffff80 16f9d8ff ffffff90 f8cbd9ff
0000340 ffffff80 1d07dbff ffffff10 daabdbff
0000360 ffffff80 ffe6dcff ffffff10 bc8bddff
0000400 04020180 04030403 04030403 03830000
0000420 00000000 0400907e 907e0000 00000800
0000440 0c01a08c 907e0000 4d4c0400 534a0054
0000460 4a430054 444a0054 01000054 00000000
0000500 00000001 54534a0a 000a392d
0000513

# od -t o 8進数 (デフォルト)
#od -t c ascii文字

cutコマンド

ファイルの各行から指定したフィールドを取り出す。

# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

# cut -c 7 /etc/hosts (各行の7文字目)
0

# cut -c 1-7 /etc/hosts (各行の1-7文字目)
127.0.0
::1

# cut -d. -f 3 /etc/hosts (.をセパレータとして3つ目のフィールドを取り出す。)
0
localdomain6

joinコマンド

2ファイルの共通するフィールドを持つ行を連結する。

# cat sample1.txt
1:Tokyo
2:Shizuoka
3:Nagoya
4:Osaka
5:Miyagi
# cat sample2.txt
1:Aomori
2:Sendai
3:Utunomiya
4:Omiya
5:Urawa
# join  sample1.txt sample2.txt
1 Tokyo Aomori
2 Shizuoka Sendai
3 Nagoya Utunomiya
4 Osaka Omiya
5 Miyagi Urawa

pasteコマンド

2ファイルの共通する行を水平方向に連結する

# paste -d":" sample1.txt sample2.txt
1 Tokyo:1 Aomori
2 Shizuoka:2 Sendai
3 Nagoya:3 Utunomiya
4 Osaka:4 Omiya
5 Miyagi:5 Urawa

trコマンド

標準入力からの文字列を変換削除する。

# cat sample1.txt |tr [a-z] [A-Z]
1 TOKYO
2 SHIZUOKA
3 NAGOYA
4 OSAKA
5 MIYAGI

# cat sample1.txt |tr -d [a-z]
1 T
2 S
3 N
4 O
5 M

splitコマンド

ファイルを分割(行数指定)

# split -2 sample1.txt sample1_split.
# ls sample1_split.a*
sample1_split.aa  sample1_split.ab  sample1_split.ac
# cat sample1_split.aa
1 Tokyo
2 Shizuoka
# cat sample1_split.a*
1 Tokyo
2 Shizuoka
3 Nagoya
4 Osaka
5 Miyagi

uniqコマンド

重複している行を1行に表示。sortコマンドなどでソート済み前提。

# cat sample3.txt
1 Aomori
1 Aomori
2 Sendai
2 Sendai
3 Utunomiya
4 Omiya
4 Omiya
5 Urawa
# uniq sample3.txt
1 Aomori
2 Sendai
3 Utunomiya
4 Omiya
5 Urawa

prコマンド

ファイルの諸新規を整える。印刷剃る前の整形によく利用される、

pr [オプション] [ファイル名]
オプション 説明
+開始ページ[:終了ページ] 開始ページや終了ページを指定する
-h ヘッダ文字列 ヘッダに表示されるファイル名を指定した文字に変更する
-l ページ長 ヘッダとフッタを含めたページの長さを暁雨数で指定する
# pr -l 15 +1:3 /etc/nginx/nginx.conf


2013-02-22 15:51              /etc/nginx/nginx.conf               Page 1


# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user              nginx;







2013-02-22 15:51              /etc/nginx/nginx.conf               Page 2


worker_processes  1;

error_log  /var/log/nginx/error.log;
#error_log  /var/log/nginx/error.log  notice;
#error_log  /var/log/nginx/error.log  info;







2013-02-22 15:51              /etc/nginx/nginx.conf               Page 3



pid        /var/run/nginx.pid;


events {

fmtコマンド

テキストを決められた文字数の幅に整形する。

# fmt -w 40 /etc/nginx/nginx.conf
# For more information on
configuration, see: #   *
Official English Documentation:
http://nginx.org/en/docs/ #   *
Official Russian Documentation:
http://nginx.org/ru/docs/

user              nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log;
#error_log  /var/log/nginx/error.log
(略)

expand, unexpandコマンド

前者はタブをスペースに変換する。後者はその逆。

expand [オプション] [ファイル名]

以下オプション

  • -t:行頭のタブのみ変換
  • -t タブ幅 タブ幅を指定する

    unexpand [オプション] [ファイル名]

  • -a行頭以外の空白も変換する。

wc, grep, sedコマンド

頻繁に利用するので割愛