フィルター(ソフトウェア)

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ

フィルタは、ストリームを処理して別のストリームを生成するコンピュータプログラムまたはサブルーチンです。単一のフィルターを個別に使用することもできますが、それらをつなぎ合わせてパイプラインを形成することがよくあります。

Unixなどの一部のオペレーティングシステムには、フィルタプログラムが豊富に含まれています。Windows 7以降には、 Windows PowerShellが含まれているため、フィルターも豊富に用意されていますただし、比較すると、 cmd.exe(Windowsの元のコマンドラインインターフェイス)に組み込まれているフィルターはほとんどなく、そのほとんどは、 MS-DOSで使用可能だった同様のフィルターコマンドに比べて大幅に拡張されていますOS Xには、基盤となるUnixベースのフィルターが含まれていますが、 Automatorもあります。これにより、フィルター(「アクション」と呼ばれる)をつなぎ合わせてパイプラインを形成できます。

Unix

UnixおよびUnixライクなオペレーティングシステムでは、フィルタは、標準入力(メイン入力ストリーム)からほとんどのデータを取得し、そのな結果を標準出力(メイン出力ストリーム)に書き込むプログラムです。補助入力はコマンドラインフラグまたは構成ファイルから取得される場合がありますが、補助出力は標準エラーになる場合があります。標準入力以外のデバイスまたはファイルからデータを取得するためのコマンド構文は、入力演算子(<)です。同様に、標準出力以外のデバイスまたはファイルにデータを送信するのは、出力演算子(>)です。既存の出力ファイルにデータ行を追加するには、追加演算子(>>)を使用できます。フィルターをつなぎ合わせてパイプ演算子( " |")を使用したパイプライン。この演算子は、左側のコマンドのメイン出力が右側のコマンドのメイン入力として渡されることを意味します。

Unix哲学では、小さな個別のツールを組み合わせて、より大きなタスクを実行することを推奨しています。Unixの古典的なフィルターはKenThompsongrepであり、Doug McIlroyは、オペレーティングシステムで「ツールの見通しを取り返しのつかないほどに訓練した」ものとして引用し、後のツールはそれを模倣しています。[1] grepは、最も単純な場合、文字列を含むすべての行を出力に出力します。次に例を示します。

cut -d:-f 1 / etc / passwd | grep foo

これは、 cutコマンドを使用してUnixシステムパスワードファイルの各行の最初のフィールド(ユーザー名)を取得し、それらすべてを入力としてgrepに渡すことにより、ユーザー名の一部として「 foo 」を持つすべての登録ユーザーを検索します。文字列「foo」を含む行の場合、それらを出力に出力します。

一般的なUnixフィルタープログラムは、 catcutgrepheadsortuniqtailです。awksedなどのプログラムは、完全にプログラム可能であるため、非常に複雑なフィルターを作成するために使用できます。データサイエンティストは、Unixフィルターを使用して、ファイルベースのデータセットに関する概要をすばやく把握することもできます。[2]

Unixフィルタープログラムのリスト

DOS

DOSベースのコンピューターの初期の2つの標準フィルターは、検索並べ替えです。

例:

find "keyword" < inputfilename > outputfilename 
sort "keyword" < inputfilename > outputfilename 
find / v "keyword" < inputfilename | 並べ替え> outputfilename

このようなフィルターは、バッチファイル(* .bat、*。cmdなど)で使用できます。

同じコマンドシェル環境で使用するために、Windowsに組み込まれているものよりもはるかに多くのフィルターを使用できます。これらのいくつかはフリーウェア、いくつかのシェアウェア、そしていくつかは商用プログラムです。これらの多くは、Unixのフィルターの機能を模倣しています。一部のフィルタリングプログラムには、ユーザーが特別なデータ処理データマイニングの要件 に合わせてカスタマイズされたフィルターを設計できるようにするグラフィカルユーザーインターフェイス(GUI)があります。

Windows

WindowsコマンドプロンプトはMS-DOSコマンドを継承し、いくつかを改善し、いくつかを追加しました。たとえば、Windows Server 2003は、配管によってチェーンできるActive Directoryを変更するための6つのコマンドラインフィルター(DSAdd、DSGet、DSMod、DSMove、DSRm、およびDSQuery)を備えています。[3]

Windows PowerShellは、パイプでチェーンできる「コマンドレット」と呼ばれるフィルターのホスト全体を追加します。ただし、いくつかの単純なフィルターは除きClear-Screenます。次の例では、フォルダ内のファイルのリストをC:\Windows取得し、それぞれのサイズを取得して、サイズを昇順で並べ替えます。Get-ChildItemこれは、3つのフィルター( 、、ForEach-ObjectおよびSort-Object)がパイプ でどのようにチェーンされているかを示しています。

Get-ChildItem  C :\ Windows  |  ForEach -Object  {  $_ 長さ }  |  ソートオブジェクト- 昇順

参照

  1. ^ McIlroy、MD(1987)。Research Unixリーダー:プログラマーマニュアル、1971年から1986年 (PDF)(テクニカルレポート)からの注釈付きの抜粋。CSTR。ベル研究所。139。
  2. ^ WaybackMachineで2016-01-22にアーカイブされたUnixシェルを使用したデータ分析 -BerndZuther、comSysto GmbH、2013
  3. ^ ホーム、ダン; トーマス、オリン(2004)。Microsoft Windows Server 2003環境の管理と保守:試験70-290ワシントン州レドモンドMicrosoftPresspp。3  |17—3|26ISBN 9780735614376

外部リンク