如何将特定列从一个csv文件复制到另一个csv文件?

File1.csv: 在此处输入图片说明

File2.csv:

在此处输入图片说明

我想用configSku,selectedSku,config_idFile2.csv中的内容替换File1.csv中的内容configSku,selectedSku,config_id最终结果应如下所示:

在此处输入图片说明

以下是下载文件的链接,因此您可以自己尝试:

  1. File1.csv:https://www.dropbox.com/s/2o12qjzqlcgotxr/file1.csv dl = 0
  2. File2.csv:https ://www.dropbox.com/s/331lpqlvaaoljil/file2.csv ? dl =0

这是我尝试过但仍然失败的方法:

#!/bin/bash

INPUT=/tmp/file2.csv
OLDIFS=$IFS
IFS=,

[ ! -f $INPUT ] && { echo "$INPUT file not found"; exit 99; }
echo "no,my_account,form_token,fingerprint,configSku,selectedSku,config_id,address1,item_title" > /tmp/temp.csv
while read item_title configSku selectedSku config_id
do
    cat /tmp/file1.csv | 
    awk -F ',' -v item_title="$item_title" \
    -v configSku="$configSku" \
    -v selectedSku="$selectedSku" \
    -v config_id="$config_id" \
    -v OFS=',' 'NR>1{$5=configSku; $6=selectedSku; $7=config_id; $9=item_title; print}' >> /tmp/temp.csv
done < <(tail -n +2 "$INPUT")
IFS=$OLDIFS

我该怎么做呢 ?

维尼修斯·普拉科(Vinicius Placco)

如果我正确理解了该问题,该如何使用:

paste -d, file1.csv file2.csv | awk -F, -v OFS=',' '{print $1,$2,$3,$4,$11,$12,$13,$8,$10}'

这不如另一个答案那么健壮,并且假定file1.csvfile2.csv具有相同的行数,并且一个文件中的每一行对应于另一文件中的同一行。输出如下所示:

no,my_account,form_token,fingerprint,configSku,selectedSku,config_id,address1,item_title
1,account1,asdf234safd,sd4d5s6sa,NEWconfigSku1,NEWselectedSku1,NEWconfig_id1,myaddr1,Samsung Handsfree
2,account2,asdf234safd,sd4d5s6sa,NEWconfigSku2,NEWselectedSku2,NEWconfig_id2,myaddr2,Xiaomi Mi headset
3,account3,asdf234safd,sd4d5s6sa,NEWconfigSku3,NEWselectedSku3,NEWconfig_id3,myaddr3,Ear Headphones with Mic
4,account4,asdf234safd,sd4d5s6sa,NEWconfigSku4,NEWselectedSku4,NEWconfig_id4,myaddr4,Handsfree/Headset

第一部分paste用于将文件并排放置,并以逗号分隔,因此-d可以选择。然后,最终得到一个包含13列的组合文件。awk部分首先说明输入和输出字段分隔符应为逗号(-F,-v OFS=','分别为),然后打印所需的列(1-4第一个文件的列,然后2-4是第二个文件的,此现在与11-13合并文件上的列相对应)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Powershell将整个列从一个CSV文件复制到另一个

使用PowerShell将列从一个csv文件复制到另一个

如何将组图层集从一个文件复制到另一个文件?

Python:将CSV文件从一个RPi复制到另一个

如何使用python将某些csv文件列复制到另一个csv文件中?

如何将单个文件的版本从一个git分支复制到另一个?

如何将文件从一个仓库复制到另一个仓库 [Jenkins]

如何将AIX上的文件从一个FS复制到另一个FS?

如何将每个文件的目录从一个硬盘复制到另一个硬盘?

Powershell:如何将文件从一个目录复制到另一个目录

如何将文件中的列复制到另一个空文件?

如何将每行中特定数量的字符从一个文件复制到另一个文件

将列复制到另一个csv文件

如何将每行X行从一堆文件复制到另一个文件?

将权限从一个文件复制到另一个文件

如何将特定文件从一个 git repo 复制到另一个,保留历史记录

如何将特定大小的文件从一个 blob 容器复制到另一个 blob 容器?

将包含特定文本的行从一个文件复制到另一个文件

使用GREP或SED将特定文本从一个文件复制到另一个文件

如何将文件从一个目录复制到另一目录?

如何将子节点结构从一个XML文件复制到另一个XML文件(合并两个XML文件)?

使用python将特定行从一个csv复制到另一个

将特定的列从一个DataTable复制到另一个

将条目从一个keepass文件复制到另一个

将文件从一个目录复制到另一个目录

将文件从一个NAS复制到另一个

将文件从一个拉链复制到另一个?

将文件从一个目录复制到另一个目录

将特定文件夹从一个位置复制到另一个Python