+ -
当前位置:首页 → 问答吧 → 如何根据第一列的标准删除多行

如何根据第一列的标准删除多行

时间:2011-04-07

来源:互联网

例如文件  a.txt

id     user   pass
1      a       1
2      b       2
3      c       3

...................


100   m     100


如何删除 a.txt    id 等于1 等于 2 ,等于1000的多行,要删除的 id 事先知道,可以存放到一个文件读取,  请教如何用shell,来处理呢?
谢谢各位

作者: hudie262000   发布时间: 2011-04-07

  1. awk 'FNR==NR{a[$0];next;}!($1 in a)' b.txt a.txt
复制代码
b.txt存放要干掉的行

作者: lkk2003rty   发布时间: 2011-04-07

awk 'BEGIN{while(getline x <"id.txt") >0)a[x]==1}!a[$1]' file

作者: yinyuemi   发布时间: 2011-04-07

本帖最后由 hudie262000 于 2011-04-07 12:00 编辑

回复 lkk2003rty

b.txt 存放的 id 不能代表行号,id 为不规则的数字,请各位帮忙阿
awk 'FNR==NR{a[$0];next;}!($1 in a)'  b.txt 10w.txt

可以了。。。多谢

作者: hudie262000   发布时间: 2011-04-07

grep -v "^1\t" | grep -v "^2\t" | grep -v "^1000\t" > xxoo.txt

:P

作者: txdgtwpv   发布时间: 2011-04-07