Linux 使用“剪切”组合csv文件以选择列,使用“粘贴”组合文件
我有一个带有子目录的目录,其中有许多csv文件,有两列(一个单词及其计数)。我想使用诸如剪切和粘贴之类的命令行工具来组合所有这些已排序(按字典顺序)的内容。我需要剪切第二列(count)并将其粘贴到一个组合文件中 我用两个文件很好地实现了这一点:Linux 使用“剪切”组合csv文件以选择列,使用“粘贴”组合文件,linux,bash,csv,Linux,Bash,Csv,我有一个带有子目录的目录,其中有许多csv文件,有两列(一个单词及其计数)。我想使用诸如剪切和粘贴之类的命令行工具来组合所有这些已排序(按字典顺序)的内容。我需要剪切第二列(count)并将其粘贴到一个组合文件中 我用两个文件很好地实现了这一点: cut -d , -f 2 sorted_2.csv | paste -d , sorted_1.csv > combo_2.csv word1,1187177,1229568 word2,279525,290798 word3,81756,
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>组合_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放回了组合3里面
我做错了什么
谢谢大家
保罗
我想使用命令行工具(如cut和pass)来组合所有已排序的(按字典顺序)。我需要剪切第二列(计数)并粘贴到组合文件中
然后从所有文件中剪切,而不是从一个文件中剪切。并粘贴结果-每个文件剪切一次
paste -d, <(cut -d, -f2 sorted_1.csv) <(cut -d, -f2 sorted_2.csv) <(cut -d, -f2 sorted_3.csv)
paste-d,检查文件中的dos行结尾我做错了什么?
我不明白,你想做什么?我在那里怎么能在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
}