我有一个CSV文件的列表,我必须在CSV文件的最后一列输出一个变量名称(动态的;它会改变)。如何在CSV文件中始终以最后一列的形式打印变量值
下面是代码:
addProgramtypeID() {
for csv in $1
do
file_name="$csv"
echo $file_name
f=`echo $file_name | cut -d '_' -f3 | cut -d '.' -f1`
echo $f
k=`grep -i $f Program_type.csv | cut -d ',' -f3`
echo $k
awk '{ print $0 "," "'"$k"'" }' "$csv" > tempfile && mv tempfile "$csv"
done
}
addProgramtypeID "T_H_EDCGO.csv"
截至目前正在被打印在CSV文件的第一列中的变量值K
,也被在文件中移除所述第一列的第一的2个字符。我的要求是,变量值应始终作为CSV文件的最后一列。
输入:
TX_ID,SEQUENCE,PROGRAM_ID,CA_ID,C_ID
123,3,334,234,3
545,2,444,456,5
如果假设$ K = 2 输出:
TX_ID,SEQUENCE,PROGRAM_ID,CA_ID,C_ID,2
123,3,334,234,3,2
545,2,444,456,5,2
Program_type.csv
type,desc,id
EDC,Alb,1
EDG,Gsc,2
请给出预期的输出和相应的(平凡)输入。没有例子,你的描述很难理解。我知道你想在每行的末尾添加'$ k'变量。它是否正确? – Lynch
是的,最后一列中应该包含$ k值。 – user2376510
你的脚本有太多的错误(我平均每行计算的错误数超过1个)用作起点,让我们从一些示例输入和预期输出开始。请发布一个小样本的Program_type.csv和T_H_EDCGO.csv,以及在这些文件上运行工具的预期输出。 –