-1

私は Windows 環境で実行しており、grep/awk/sed/shell を使用していません。ただし、次の問題の最も簡単な解決策を知りたいです。

2 つのファイルがあります (どちらにもヘッダーがあります)。

  1. 遺伝子ファイル。列は動物、車、色です
  2. 標本ファイル。コラムはアニマル、カラー

2 つのファイルを、すべてのヘッダーが存在する 1 つのファイルに結合したいと考えています。ただし、標本ファイルの部分では、 の値が空白になりますCar。最終製品は次のようになります。

+----------+------+-------+---------------------------------------------------------------------+
|  Animal  | Car  | Color |                                                                     |
+----------+------+-------+---------------------------------------------------------------------+
| Elephant | Jeep | Grey  | (from genetics file [don’t include this text in the resulting file) |
| Dog      | Ford | Red   | (from genetics file)                                                |
| Cat      |      | Blue  | (from specimen file)                                                |
| Donkey   |      | Green | (from specimen file)                                                |
+----------+------+-------+---------------------------------------------------------------------+

Windows環境で最も簡単な解決策は何ですか?

編集:これらのタグの理由を明確にするのは、これらのツールがこの仕事に最適であると信じているからです! これを行うためだけに C# アプリケーション全体を作成したくありません。

4

3 に答える 3

2

、、、などの質問sedで言及されているツールは、Windows 固有のものではありません。awkgrep

それらを使用するには、次のいずれかを選択する必要があります。

  • ネイティブまたは仮想化を介して、コンピューターに UNIX または Linux をインストールします。

また:

  • CygwinUWINなどのツールキットをインストールする

これらのプロジェクトには多くのドキュメントがありますが、初心者であれば学ぶべきことがたくさんあります。

仮想化を始める簡単な方法は、Oracle のVirtualboxと ubuntu Linux のコピーを入手することです。

于 2012-08-03T18:29:55.493 に答える
1

これは、あなたの望むことですか ?

$cat input.ani
|Elephant|Jeep|Grey|
$ cat input.Specimen
| Cat | Blue  |
| Dog | White |
| Elephant | Red |
$ cat input.Specimen  | awk    '{print $1 $2 $3 "   " $3 $4 $5 $6  }' >> input.ani
$ cat input.ani
|Elephant|Jeep|Grey|
|Cat|   |Blue|
|Dog|   |White|
|Elephant|   |Red|
于 2012-08-03T17:04:02.260 に答える
1

よく考えてみると、単純な解決策として、環境を本当に知りたい場合を除き、UNIX ツールセットを使用しないことはお勧めしません。

pythonWindows システムの場合は、 、 perl、またはなどの優れたスクリプト言語をインストールすることもできますruby

それらはどれも些細なことではありませんが、優れたサポートがあり、Windows 用のまともなインストーラーがあります。

さらに別の代替手段は、.Net ランタイムに基づく PowerShell です。

于 2012-08-03T19:56:29.920 に答える