我的csv文件如下所示:
In [33]: pd.melt(df.reset_index(),
id_vars=['values'],
value_vars=['interval1','interval2','interval3'])
Out[33]:
values variable value
0 aaa interval1 ##1
1 bbb interval1 ##4
2 ccc interval1 ##7
3 aaa interval2 ##2
4 bbb interval2 ##5
5 ccc interval2 ##8
6 aaa interval3 ##3
7 bbb interval3 ##6
8 ccc interval3 ##9
我想删除所有包含file1
title1,title2
car,21
train,2015/10/02
bus,hello
和title2 = 21
这就是我现在正在做的事情:
title2 = 2015/10/02
最终输出
cat file1|awk -F, '{if(match($2,"21")==0)print}'>a1
cat a1|awk -F, '{if(match($2,"2015/10/02")==0)print}'>a2
有没有更有效的方法在1行中这样做,所以我不会生成这么多不必要的输出文件?
答案 0 :(得分:3)
是的,你可以使用:
awk -F, '$2 != 21 && $2 != "2015/10/02"' aa
title1,title2
bus,hello
如果字段已经用逗号分解,则无需致电match
。
答案 1 :(得分:2)
awk -F, '$2!~/^(21|2015\/11\/03)$/' file
摆脱所有2015 *日期:
awk -F, '$2!~/^(21|2015\/..\/..)$/' file
答案 2 :(得分:0)
也许这就足够了?
awk'!/ 21 | 2015 /'file
title1,title2
总线,你好