Linux/Unix の Pipe、Grep、Sort コマンドと例
Linux のパイプとは何ですか?
パイプはLinuxのコマンドであり、XNUMXつのコマンドの出力が次のコマンドへの入力として機能するように、XNUMXつ以上のコマンドを使用できます。 つまり、各プロセスの出力は、パイプラインのように次のプロセスへの入力として直接出力されます。 記号 '|' パイプを示します。
パイプを使用すると、2 つ以上のコマンドを同時にマッシュアップして連続的に実行できます。複雑なタスクを一瞬で実行できる強力なコマンドを使用できます。
例でこれを理解しましょう。
「cat」コマンドを使用して複数のページにまたがるファイルを表示すると、プロンプトはすぐにファイルの最後のページにジャンプし、途中のコンテンツは表示されません。
これを回避するには、「cat」コマンドの出力を「less」にパイプして、一度に XNUMX つのスクロール長のコンテンツのみを表示します。
cat filename | less
図解するとわかりやすいでしょう。
クリック こちら ビデオにアクセスできない場合
「pg」コマンドと「more」コマンド
「less」の代わりに「less」を使用することもできます。
cat Filename | pg
or
cat Filename | more
また、ファイルをわかりやすいビットで表示し、Enter キーを押すだけで下にスクロールできます。
「grep」コマンド
テキスト ファイルから郵便番号などの特定の情報を検索するとします。
自分でコンテンツを手動でざっと読んで、情報を追跡することもできます。 より良いオプションは grep コマンドを使用することです。 文書をスキャンして必要な情報を取得し、結果を必要な形式で表示します。
構文:
grep search_string
実際に動作を見てみましょう –
ここでは、 grep コマンドは、ファイル 'sample' で文字列 'Apple' と 'Eat' を検索しました。
このコマンドでは以下のオプションを使用できます。
オプション | 演算 |
---|---|
-v | 検索文字列に一致しない行をすべて表示します |
-c | 一致した行の数のみを表示します |
-n | 一致する行とその番号を表示します |
-i | 大文字と小文字の両方に一致します |
-l | ファイル名だけを文字列で表示します |
最初のオプションを試してみましょう '-私' 同じファイルで上記を使用します –
grep 'i' オプションを使用すると、すべての行から文字列 'a' (大文字と小文字は区別されません) がフィルタリングされます。
「並べ替え」コマンド
このコマンドは次のような場合に役立ちます ファイルの内容をアルファベット順に並べ替えます。
このコマンドの構文は次のとおりです。
sort Filename
ファイルの内容を考えてみましょう。
並べ替えコマンドの使用
全 エクステンション このコマンドにも同様に適用されます。それらは以下にリストされています。
オプション | 演算 |
---|---|
-r | Reversesソート |
-n | 数値順に並べ替えます |
-f | 大文字と小文字を区別しない並べ替え |
以下の例は、ファイル「abc」の内容を逆順に並べ替えることを示しています。
フィルタとは何ですか?
Linux には、awk、grep、sed、spell、wc などのフィルター コマンドが多数あります。 フィルターは XNUMX つのコマンドから入力を受け取り、何らかの処理を行って出力を返します。
XNUMX つのコマンドをパイプすると、最初のコマンドの「フィルターされた」出力が次のコマンドに与えられます。
例を使ってこれを理解しましょう。
次のファイル「サンプル」があります
強調したいのは 文字「a」を含まない行のみを対象としますが、結果は逆の順序になるはずです。
このために、次の構文を使用できます。
cat sample | grep -v a | sort - r
結果を見てみましょう。
概要
- パイプ '|' あるコマンドの出力を別のコマンドの入力として送信します。
- フィルターは XNUMX つのコマンドから入力を受け取り、いくつかの処理を実行して、出力を提供します。
- grep コマンドを使用すると、テキスト文書内の文字列と値を検索できます。
- grep によるパイプ処理は最も一般的な用途の XNUMX つであるはずです
- 「sort」コマンドはファイルの内容をアルファベット順に並べ替えます
- less、pg、moreコマンドは長いファイルを読み取り可能なビットに分割するために使用されます。