2つのファイルを操作するために設計されたいくつかのunixコマンドがあります。一般に、そのようなコマンドは、ファイル名の代わりに単一のダッシュを使用することによって、「ファイル」の1つの内容を標準入力から読み取ることができます。2つのファイルを標準入力にリダイレクト
私はちょうど両方のファイルを標準入力から読み込むことができるように思われるa techniqueに出くわした:
comm -12 <(sort file1) <(sort file2)
私の最初信じない反応が動作してはならないこと」だった標準入力はただの連結を持つことになります。コマンドはファイルを区別することができず、2つのファイルの内容が与えられていることも分かりません。
もちろん、この構成は機能します。私はcomm
とdiff
の両方でcygwin 1.7.7でbash 3.2.51を使ってテストしました。私はどのように働いているのでしょうか、それがなぜ好奇心でしょうか:
- なぜこれは機能しますか?
- これはBashエクステンションですか、この直線的なBourneシェルの機能ですか?
- これは私のシステムでは機能しますが、この手法は他のプラットフォームでも機能しますか? (言い換えれば、このテクニックを使って書かれたスクリプトは移植可能でしょうか?)
これは処理の代替です!私はリダイレクトに関する情報のためにグーグルで多くの時間を過ごしましたが、間違った名前を付けました。 –
ありがとうございます。これは助けになりました。確認済みのksh88(AIX 7.1)は、このスタイルのプロセス置換をサポートしていません。 bashのGaneshに感謝します。 –