awk '/K[0-9]/ ' file.txt 是打印匹配的行,现在只要我标红的字符如何打印? 多谢 file.txt C LGALS3; lectin, galactoside-binding, soluble, 3 (galectin 3) [KO:K06831] D K06491 NCAM; neural cell adhesion molecule D K06550 L1CAM; L1 cell adhesion molecule D K06499 CEACAM; carcinoembryonic antigen-related cell adhesion molecule D K06771 MAG, GMA, SIGLEC4; myelin associated glycoprotei...
by liaoboda - Shell - 2011-11-19 15:59:19 阅读(7347) 回复(12)
有两个文件: # cat a 13407736618|07712350965|20140602000036|20140602000335|27|27|0| 077113607713712|07762618985|20140601231824|20140602000528|1413|1413|0| # cat b 0|213|1|1|07712350965|213213|13407736618|2000|127|07712350965|20140602000036|20140602000335|180|27||8|0||||27|0|0|13407736618|27|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|1|1|07713912575|-1||0|0|27|0| 0|213|1|1|077626...
如下为防火墙日志,其中有字段service=http proto=6,如何输出service=http这个字段呢,service字段有可能包含好几个空格,并且不确定究竟会有几个,但是后面的字段肯定是proto,如何用awk模式匹配输出service这个字段呢? 2011-09-30 00:00:20 Local0.Notice 10.2.0.254 ns50: NetScreen device_id=0019022004000299 [Root]system-notification-00257(traffic): start_time="2011-09-30 00:01:05" duration=15 policy...
比如有如下输入 [12-01 10:00:00] Info b:23 c:35 [12-01 10:02:00] Info a:6 b:30 c:10 .... 现在要获取b:后的值,连同时间一起输出: 23 [12-01 10:00:00] 30 [12-01 10:02:00] 查看了awk/sed的文章,找不到解决方案:(
div class="blueLink" style="display:block;" target="_blank" a href="/web/en.nsf/Content/product-desktopoverIP" 单击了解更多信息 /a /div 比如上面这一行需要打印 /a /div这两个字段,希望能够使用正则表达式实现。(每一行"/"开头的字段未知可能不一样)
现在有这么一件想要做的事情 file1: 88880001,2014-12-12,01 88880002,2014-12-02,04 88880003,2014-12-01,02 file2: 01:目标不可达 02:对方主动挂断 03:心跳超时 04:客户端登录失败 file3: 88880001,2014-12-12,01,目标不可达 88880002,2014-12-02,04,客户端登录失败 88880003,2014-12-01,02,对方主动挂断 file1的第三列与file2中是对应关系。仿佛就是shell完成SQL关联表查询一般 想用awk来完成,大家能否给予点思路或提醒...
小弟新手,不大熟悉awk语句,希望各位大神指点迷津:emn14: 数据格式如下: 2013-04-20 23:52:05.9 30.13 102.88 2013-04-20 23:50:26.1 30.25 102.85 2013-04-20 23:49:50.5 30.25 102.88 2013-04-20 23:48:14.4 30.22 102.86 小弟的目的是分离出第二个字段中的时,分,秒,请问该如何操作:dizzy:
如何用awk实现匹配行指定字段替换后,重写源文件。 例如 源文件 data 内容如下 li 120 abc wang 200 bcd zhng 180 abc 我想重写后的 data 文件是 li 120 abc wang 500 bcd zhng 180 abc 也就是找到wang的匹配行,给第二个字段数据加300 我的几个尝试没能成功,请达人指教下如何实践 1.如果用 awk '/wang/{$2=$2+300;print $0}' data 则只打印匹配行 2.如果用 awk '/wang/{$2=$2+300};{print $0}' d...
问题如下: [root@ACT-MRL shellprog]# cat tt sway:abcd:1234 robin:dsasaaa:afdsf carson:fsdfsdl:fdsf [root@ACT-MRL shellprog]# awk -F: -v test=sway '$1~/test/ {print $0}' tt 没有匹配任何输出。 说明-v 定义的变量在匹配//里面不能用。怎么回事? 该如何改进。 谢谢。