1个回答
展开全部
给你写个脚本,将脚本放入目录内,或者把a,b文件的绝对路径添加到其中也可以
注意`cat b` 的两个反引号(键盘tab上面的那个键)不要打错了
你说的生成新文件,脚本里写的生成新文件c,然后把a文件备份成a-bak,再把c文件命名为a,以这样的方式实现。脚本:
#! /bin/sh
cat a | egrep -v "`cat b`" > c
mv a a-bak
mv c a
echo "done"
注意`cat b` 的两个反引号(键盘tab上面的那个键)不要打错了
你说的生成新文件,脚本里写的生成新文件c,然后把a文件备份成a-bak,再把c文件命名为a,以这样的方式实现。脚本:
#! /bin/sh
cat a | egrep -v "`cat b`" > c
mv a a-bak
mv c a
echo "done"
更多追问追答
追问
您好,用您的脚本得不到相应结果。后来我只用 ( cat a | egrep -v "`cat b`" )都不行,但是用( cat a | egrep -v "TCONS_00000001" )就可以得到相应的结果。所以还要麻烦您,实在感谢!
追答
你好,排除脚本执行失败:1,首先要保证b文件跟你给截图的格式是相同的,每个条件要单独成行。2,如果b文件内容非常多的话也可能造成cat a | egrep -v "`cat b`" > c命令参数过长而无法实现,这种情况的话可以分割b文件并多次重定向到多个文件进行逐级筛选,比较麻烦。
你最好还是去linux社区、csdn、红黑联盟、chinaunix等等社区上问问,上面linux大神很多,可能会有更简单的方法
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询