组合csv文件使用剪切来选择一列,然后粘贴来组合文件



我有一个包含子目录的目录,其中包含许多带有两列(一个单词及其计数(的csv文件。我想使用命令行工具,如剪切和粘贴来组合所有这些排序(字典(。我需要剪切第二列(计数(并将其粘贴到组合文件中。

我用两个文件做得很好:

cut -d , -f 2  sorted_2.csv | paste -d , sorted_1.csv > combo_2.csv
word1,1187177,1229568
word2,279525,290798
word3,81756,85163...

但是,当我尝试:剪切-d,-f 2排序_2.csv排序_3.csv |粘贴-d,排序_1.csv>combo_2.csv

我得到了:

word1,1187177,1229568
word2,279525,290798
word3,81756,85163... 
,1187177
,279525
,81756...

新列被堆叠在下面,而不是这样:

word1,1187177,1229568,1187177
word2,279525,290798,279525
word3,81756,85163, 81756... 

我试过这个:

paste file1.csv file2.csv file3.csv | cut -f 2 > combo_3.csv

但是把排序后的文件2放回了combo3中。

我做错了什么?

谢谢大家。

Paulo

我想使用命令行工具,如cut和pass来组合所有排序的(字典(。我需要剪切第二列(计数(并粘贴到一个组合文件中。

然后从所有文件中剪切,而不是从一个文件中剪切。并粘贴结果-每个文件一个剪切。

paste -d, <(cut -d, -f2 sorted_1.csv) <(cut -d, -f2 sorted_2.csv) <(cut -d, -f2 sorted_3.csv)

如何在20000 csv中同时使用此命令?

find ....all_the_files... |
{
IFS= read -r file1
cut -d, -f2 "$file1" > output.txt
while IFs= read -r file; do
paste -sd, output.txt <(cut -d, -f2 "$file") > output.txt.tmp
mv output.txt.tmp output.txt
done
}

最新更新