1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Linux 【od、split、uniq、sort、cut、paste、fmt、wc、expand、pr、join、head、tail】コマンドについて(自分用メモ

Posted at

●odコマンドはファイルの内容を8進数や16進数で表示するコマンドです。

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

オプション
・-t 出力フォーマットを指定
・-o(デフォルト) 8進数2バイト区切りで表示(-t o2と同じ)
・-x 16進数2バイト区切りでs表示(-t x2と同じ)
・-c ASCII文字またはバックスラッシュ月のエスケープ付き文字で表示(-t cと同じ)

オプションを指定しない場合は「-o」オプションがデフォルトで使用されます。
なお、odコマンドは通常、バイナリファイルの内容を表示する際に使用します。

-t オプションで出力形式を指定することができます。

▲フォーマット
・c ASCII文字またはバックスラッシュ月のエスケープ付き文字で表示
・-o[SIZE] 8進数で表示。SIZE表示を区切るバイト数を指定できる(未指定時4バイト)
・-x 16進数で表示。SIZE表示を区切るバイト数を指定できる(未指定時4バイト)

●splitコマンドは指定した行数でファイルを分割するコマンドです。

split [-行数] [入力ファイル名 [出力ファイル名]]
split [-l 行数] [入力ファイル名 [出力ファイル名]]

「-行数」または-lオプションでファイルを何行ごとに分割するかを指定できます。なお、デフォルトは1000行です。
また、出力(分割)されたファイルのファイル名は、出力ファイル名を指定しない場合は先頭が「x」、出力ファイル名を指定した場合は先頭が「出力ファイル名」で、末尾に「aa」、「ab」、「ac」などの文字列が順番に付きます。

●ソートされているファイルにある連続した重複行のみを表示するにはuniqコマンドを利用

uniq [オプション] [入力ファイル [出力ファイル]]

オプション
・-d 重複している行のみを表示
・-u 重複していない行のみを表示

なお、出力ファイルを指定するとコマンドの実行結果は画面ではなく出力ファイルに出力されます。

●行単位でファイルの内容をソートするにはsortコマンドを利用します。

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

オプション
・-b 行頭の空白を無視
・-f 大文字、小文字を区別しない
・-r 降順でソート
・-t 区切り文字 指定した文字を区切り文字としてフィールドを認識
・-n 数字を文字でなく数値としてソート
・-k フィールド ソート対象とするフィールドを指定(デフォルトは1つ目のフィールド)

「-r」オプションを指定しない限り、ファイルの内容は昇順にソートされます。

●テキストファイルの各行から指定したフィールドを取り出して表示するにはcutコマンドを利用します。

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

オプション
・-c 文字数 抽出する文字位置を指定
・-d 区切り文字 区切り文字を指定(デフォルトはタブ)
・-f フィールド 抽出するフィールドを指定。n →n番目のフィールド。n,m→n番目とm番目のフィールド

●複数のファイルを行単位で結合するにはpasteコマンドを利用します。

paste [-d 区切り文字] [ファイル名...]

「-d」オプションで区切り文字を指定することが出来ます。デフォルトはタブ。

●fmtコマンドは1行あたりの最大文字数を指定してテキストを整形するコマンド。

fmt [-w 文字数] [ファイル名]

「-w」オプションで一行あたりの最大文字数を指定することが出来ます。なお、デフォルトは75文字

●wcコマンドはファイル内の文字数や行数を調べることができるコマンドです。

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

オプション
・-l 行数を表示
・-w 単語数を表示
・-c 文字(バイト)数を表示

オプションを指定せずに実行すると行数、単語数、文字(バイト)数が順に表示。

●expandコマンドはタブをスペースに変換するコマンドです。

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

オプション
・-i 行頭のタブのみを変換
・-t スペース数 1つのタブで置き換えるスペースの数を指定(デフォルトは8)

●unexpandコマンドは行頭にある連続したスペースをタブに変換するコマンド。

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

オプション
・-a 行頭以外の連続したスペースもタブに変換
・-t スペース数 タブに変換するスペースの数を指定(デフォルトは8。このオプ書を指定すると「-a」オプションも指定されたことになる。

●prコマンドはファイルを印刷用に整形するコマンドです。

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

オプション
・-l 行数 ヘッダ、フッタを含めたページの行数を指定(デフォルトは66行)
・-h 文字列 ヘッダに表示されるファイル名を指定した文字列に変更
・+開始ページ[:終了ページ] 開始ページ、終了ページを指定

●2つのファイルを読み込み、共通するフィールドがある行を結合して表示するにはjoinコマンドを利用します。

join [-j フィールド] ファイル1 ファイル2

「-j」オプションは連結するフィールドを指定します。
オプションを指定しない場合は2つのファイルの1番目のフィールドを比較して、同じ値の行を結合して表示します。なお、結合するフィールドはそれぞれのファイルでソートされている必要があります。

●headは指定したファイルの先頭部分を表示するコマンドです。

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

オプション
・-n 行数| -行数 指定した行数をファイルの先頭から表示
・-c バイト数 指定したバイト数をファイルの先頭から表示

●tailは指定したファイルの末尾部分を表示するコマンドです。

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

オプション
・-n 行数| -行数 指定した行数をファイルの末尾から表示
・-c バイト数 指定したバイト数をファイルの末尾から表示
・-f ファイルの末尾に追加された行を表示し続ける

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?