Yuki's Tech Blog

仕事で得た知見や勉強した技術を書きます。

【もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】セクション9: フィルタによるテキスト処理で知らなかったことをざっくりまとめてみた

目次

wcコマンド

wcコマンドは、 文字数や行数を数えるコマンドです。 word countの略です。行数を数える場合は -l オプションを指定します(lはlineのl)。

wc -l /etc/crontab

あるディレクトリ配下のファイルやディレクトリの数を数える

wcコマンドはあるディレクトリ配下のファイルやディレクトリの数を数えるときに使用します。その場合、パイプラインを使用して、lsコマンドの標準出力をwcコマンドの標準入力にします。

[ec2-user@ip-10-0-10-10 repos]$ ls
ls.txt  rails  react  react-1  ruby.txt  sample.rb  typescript
[ec2-user@ip-10-0-10-10 repos]$ ls | wc -l
7

sortコマンド

sortコマンドは、ファイルを並べ替えるコマンドです。具体的に使用する場面を想像できなかったので、必要なときに学習します。

uniqコマンド

uniqコマンドは、重複業を取り除いて表示するコマンドです。具体的に使用する場面を想像できなかったので、必要なときに学習します。

headコマンド、tailコマンド

headコマンド、tailコマンドは、 ファイルの先頭や末尾だけを表示するコマンドです。

// 先頭3行だけを表示
head n -3
// 下から4行だけを表示
tail -n 4

head or tailのみで実行した場合、デフォルトで10行表示されます。

tailコマンドでファイルを監視する

tailコマンドはファイルの末尾を表示する以外に、ファイルの監視を行う機能もあります。指定したファイルを監視することができます。その機能を使いたい場合、-fを指定します。fはfollowの略でついていくという意味です。 つまり、ファイルの変更をついていって監視するという意味です。

tail -f 監視したいファイル名

コマンドの練習

ルートディレクトリ配下のディレクトリ数を表示する

ls -l / | grep ^d | wc -l

コマンド履歴の中から、パイプラインを使用したコマンドを、直近で実行した3個だけ表示する

history | grep \| | tail -n 3

catコマンドのヘルプメッセージのうち、ロングオプションが含まれる行だけを取り出し、cat_long_options.txtというファイルに保存する

grepでハイフン付きのキーワードを探したい場合、--を指定します。--の後ろに検索したいキーワード(--)を指定します。

cat --help | grep -- "--" > cat_long_options.txt

参考記事

もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】 | Udemy

ハイフンを含む文字列を grep する - ablog