同様のコンテンツ/データを持つ2つのcsvファイルがあります。
ファイル1.csv
ADIS
BAP3
Mercury_System
nxh-2003
DR_FeatureUP_PT
ファイル2.csv
ADIS,projects.adis
EcoSystems,projects.ecosystems
em1xxxsw,projects.em1xxxsw
BAP3,projects.bap3
Dirana4,projects.dirana4
Mercury_System,projects.mercury_system
nxh-2003,projects.nxh-2003
DocStore,projects.docstore
DR_FeatureUP_PT,projects.dr_featureup_pt
予想される出力.csv
ADIS,projects.adis
BAP3,projects.bap3
Mercury_System,projects.mercury_system
nxh-2003,projects.nxh-2003
DR_FeatureUP_PT,projects.dr_featureup_pt
そのクエリのコマンドを教えてください。
ベストアンサー1
使用ミラー(mlr
)は、指定されたフィールドに2つのCSVデータセットを結合しますADIS
。
$ mlr --csv join -j ADIS -f file1.csv file2.csv
ADIS,projects.adis
BAP3,projects.bap3
Mercury_System,projects.mercury_system
nxh-2003,projects.nxh-2003
DR_FeatureUP_PT,projects.dr_featureup_pt
ADIS
実際にフィールド名ではない場合、2つのCSVファイルはヘッダなし、次のように使用します(入力をヘッダーなしのCSVに読み込み、ジョブはフィールド名の代わりにフィールド番号を使用しますjoin
)。
$ mlr --csv -N join -j 1 -f file1.csv file2.csv
ADIS,projects.adis
BAP3,projects.bap3
Mercury_System,projects.mercury_system
nxh-2003,projects.nxh-2003
DR_FeatureUP_PT,projects.dr_featureup_pt
2番目のコマンドの出力そうだ最初のコマンドと同じです。ただし、各ファイルの最初の行はヘッダー行として解釈されず、データフィールドのレコードとして解釈されます。
これは、入力データファイルがDOSまたはUnixテキストファイルであるかどうかに関係なく機能します。