Chinaunix
标题:
请教:两个CSV文件,想保持A一直是B的子集,应该怎么做呢?
[打印本页]
作者:
qooweds
时间:
2013-10-24 13:55
标题:
请教:两个CSV文件,想保持A一直是B的子集,应该怎么做呢?
A是配置文件用的表格,可能会删除一些列,也可能会增加一些列
B相当于是个A的备份,但是想要B包含A中删除过和增加过的列
例如:
A开始有1,2,3,4列,B也有1,2,3,4列
后来A删除了"3"列,增加了"5"列,即
A:1,2,4,5
我想保持B不仅不删掉A列,但是增加5列,即
B:1,2,3,4,5
应该怎么做呢?
我的笨办法目前是从A中取每一列在B中查找,如果没有就插入到B中
请问如果不用if判断,应该怎么实现呢?
作者:
关阴月飞
时间:
2013-10-24 18:04
目测这个是版本控制的菜
作者:
jason680
时间:
2013-10-24 18:37
回复
1#
qooweds
# grep "." A B
A:1,2,3,4
B:1,2,3,4
# awk -F"," '{for(n=0;n++<NF;){if(ARGIND==1){a[$n]=1;add=$0}else{if(a[$n]==""){add=add","$n}}}}END{print add > "B"}' B A
# cat B
1,2,3,4
# echo "1,2,4,
5
" > A
# awk -F"," '{for(n=0;n++<NF;){if(ARGIND==1){a[$n]=1;add=$0}else{if(a[$n]==""){add=add","$n}}}}END{print add > "B"}' B A
# cat B
1,2,3,4,
5
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2