異なるファイルの値を1つのCSVファイルに結合する
質問
各行に値を含むファイルがいくつかあります。
編集:
投稿の執筆中にこの質問に対する答えを見つけましたが、不完全な状態で誤って投稿したことに気づきませんでした。
やろうとしていた:
paste -d ',' file1 file2 file 3 file 4 > file5.csv
そして奇妙な出力を得ていました。後になって、行末にキャリッジリターンと改行文字の両方があるファイルと、改行文字だけのファイルがあるために、それが起こっていることに気付きました。私は常にこれらのことに注意を払うことを忘れないようにしました。
解決
ファイル1:
1 2 3
file2:
2 4 6
paste --delimiters=\; file1 file2
Will yield:
1;2 3;4 5;6
他のヒント
質問の入力がまだ終わっていないように感じますが、まだ試してみます。 ;)
file1: file2: file3:
1 a A
2 b B
3 c C
~$ paste file{1,2,3} |sed 's/^\|$/"/g; s/\t/","/g'
"1","a","A"
"2","b","B"
"3","c","C"
または、
~$ paste --delimiter , file{1,2,3}
1,a,A
2,b,B
3,c,C
おそらくあなたの質問を明確にするかタグを付け直す必要がありますが、答えは以下の通りです。
Linuxで2つのファイルを結合する
cat filetwo >> fileone
また、これまでにない多用途の LogParser 。
フラットテキストファイルに対してSQLのようなクエリを実行して、あらゆる種類のマージ操作を実行できます。
logparserまたはコマンドラインツールを使用した以前の回答は機能するはずです。フィルタリングや結合など、レコードに対してより複雑な操作を行いたい場合は、ETLツールの使用を検討できます(Pentaho、Mapforce、Talendが思い浮かびます)。通常、これらのツールは、データソースと行に対して実行する操作との関係を定義するグラフィカルパレットを提供します。
所属していません StackOverflow