Linuxコマンド「cut、tr、tail、diff」の解説

未分類
スポンサーリンク

入力の一部を切り出す

cutコマンドは、入力行の一部分を切り出して出力します。

cut -d 区切り文字 -f フィールド番号 [ファイル名]

でOKです。

CSVファイルの特定のカラムを取り出すときに使うことができます。

フィールド番号は、カンマを付けて複数指定できます。

元のデータから特定の部分だけを取り出したい場合に便利なコマンドです。

文字を変換・削除する(一文字単位)

trコマンドは、文字を置き換えます。

tr 置換前の文字 置換後の文字

でOKです。

-(ハイフン)を利用することで、文字範囲を指定できます。

trコマンドは1文字単位の文字置換です。

trコマンドは純粋なフィルタなので、パイプもしくはリダイレクトでファイルを渡す必要があります。

文字削除

-dオプションで文字を削除できます。

tr -d 削除文字

でOKです。

改行を削除する場合によく使われます。

末尾部分を表示する

tailコマンドは、ファイルの末尾を表示します。

tail ファイル名

でOKです。

オプションなしでは末尾10行が表示させます。

-nオプションで表示する行数を指定できます。

先頭行

先頭行を表示したい場合は、headコマンドを使います。

head ファイル名

でOKです。

リアルタイム監視

-fオプションで、ファイルへの追記を監視することができます。

ログの出力やデータ収集などをリアルタイムに監視したいときに使われます。

tail -f ファイル名

でOKです。

tailコマンドを終了するには、Ctrl+cで終了できます。

差分を表示する

diffは、2つのファイルの差分を表示するコマンドです。

diff 比較元ファイル 比較先ファイル

でOKです。

プログラムのソースコードなどで、編集前と編集後の変更内容の確認によく使われます。

3a4は、変更コマンドと呼ばれています。

(変更範囲1)変更種別(変更範囲)という形式です。

aが追加(Add)です。

cが変更(Change)です。

dが削除(Delete)です。

3a4は、変更前の三行目に変更後の4行目が追加されていることを表しています。

diffコマンドの出力2行目以降は、変更内容を表示しています。

40a39,41なら、1つ目のファイル40行目の後に、2つ目のファイルの39行目から41行目までを追加したという意味になります。

ユニファイド形式

-uオプションで、ユニファイド形式で表示できます。

diff -u 比較元ファイル 比較先ファイル

でOKです。

最初の2行はファイル名と更新日が表示されます。

追加された行は先頭に+が、削除された行には先頭に-が表示されます。

変更行の前後数行を併せて表示してくれるので、どこを変更したかわかりやすいという特徴があります。

@@-[1つ目のファイルの変更開始行],[変更行数], +[2つ目のファイルの変更開始行],[変更行数] @@ と

いう形式で表示されます。

パッチ

パッチ(修正を適用するファイル)は,diffコマンドで出力した差分が利用されます。

diffコマンドの差分を利用することで、ファイル全体を送る必要がありません。

差分を受け取った側は、元のファイルと差分ファイルから、patchコマンドを使ってファイルを復元できます。

ユニファイド形式ならば元のファイルの行が多少ずれていてもパッチとして適用できます。

小話:最近おすすめのシャンプー

わたしが最近使っているおすすめシャンプーです。

カラー後の傷んだ髪がツルツルになるのでおすすめです♪

コメント

タイトルとURLをコピーしました