我有一个包含子目录的目录,其中包含许多带有两列(一个单词及其计数(的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
}