LotosLabo

プログラミング技術とか気になった情報を載せていきます

Linux基本コマンド3

登場するコマンド一覧
・touch
・head
・tail
・echo
・sort
・uniq
・tr
・diff

テキストファイル操作コマンド

ファイルのタイムスタンプの変更

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

ファイルを作成するコマンドであるが、オプションに日時を指定することが出来る。

例:

touch -t 01011000 host.text
(空の1月1日10時のファイルを作成)


ファイルの内容の一部取得

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

headは先頭から取得する

例:

head file.text
(file.textの内容の先頭から10行を表示)

head -n 5 file.text
(先頭から5行を表示)


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

tailは末尾から取得する

例:

tail file.text
(file.textの内容の末尾から10行を表示)

taile -n 5 file.text
(末尾から5行を表示)

tail -f file.text
(リアルタイムでファイルの更新を確認できる)


ファイルにアクセスし新しい文字を入力

echo 'Helo' >> file.text

file.textにHelloという文字を記入する


テキストファイルのソート

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

[オプション]

ーr
逆順でソートする
ーk n
n 列目のデータをソートする
ーn
数値としてソートする

  sort fille
ーーーーーーーーーー
abcd   abcd
bcde   bcd
cdef   cdd
ーーーーーーーーーー
アルファベット順に出力

  sort -r file
ーーーーーーーーーー
cdef   abcd
bcde   bbcd
abcd   cbcd
ーーーーーーーーーー
アルファベットを逆に出力

  sort -k 2 file
ーーーーーーーーーー
abcd   abcd
cderf   bcde
bcdf   cbcd
ーーーーーーーーーー
2列目の文字をアルファベット順に出力

  sort -k 2 -r file
ーーーーーーーーーー
abcd   cdef
bcde   badfe
cddd   abdfke
ーーーーーーーーーー
2列目の文字をアルファベット逆順に出力


行の重複の消去

uniq ファイル名

uniqコマンドを使うことで直前の行と同じ内容があった場合、対象行を出力しない。

例:

uniq file.txt


元ファイル
AAA
BBB
AAA
CCC
CCC
DDD


実行結果
AAA
BBB
AAA
CCC
DDD


文字列の置き換え

tr 文字列1 文字列2

例:

tr abc ABC
(abcをABCに置き換える)

cat > FILE | tr abc ABC
(ファイルを読み込みファイルの中のabcをABCに置き換える)


ファイルの比較

diff [オプション] ファイル1  ファイル2

例:

diff file1 file2
(file1とfile2の内容を比較)