sed如何提取一行数据中指定样式的字符串正则表达式?

sh/bash/dash/ksh/zsh等Shell脚本
回复
半点闲
帖子: 19
注册时间: 2007-10-03 7:42
联系:

sed如何提取一行数据中指定样式的字符串正则表达式?

#1

帖子 半点闲 » 2011-01-24 15:24

如有一数据行格式如下:
192.168.0.1 ttys19 0 0 0 1

要提取ttys19这一字段数据。

问题是使用前并不知道ttys##(#代表任意数字)在文件中的字段位置(所以也就不能通过cut -f#)。。如何只提取以ttys##的字段。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: sed如何提取一行数据中指定样式的字符串正则表达式?

#2

帖子 eexpress » 2011-01-24 15:38

其实,你可以cut
● 鸣学
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: sed如何提取一行数据中指定样式的字符串正则表达式?

#3

帖子 eexpress » 2011-01-24 15:39

● echo 192.168.0.1 ttys19 0 0 0 1|cut -d' ' -f 2
ttys19
● 鸣学
半点闲
帖子: 19
注册时间: 2007-10-03 7:42
联系:

Re: sed如何提取一行数据中指定样式的字符串正则表达式?

#4

帖子 半点闲 » 2011-01-24 16:20

ttys## 字段在文件行中的任意位置。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: sed如何提取一行数据中指定样式的字符串正则表达式?

#5

帖子 eexpress » 2011-01-24 16:30

|grep -o 'ttys[0-9]*'
● 鸣学
半点闲
帖子: 19
注册时间: 2007-10-03 7:42
联系:

Re: sed如何提取一行数据中指定样式的字符串正则表达式?

#6

帖子 半点闲 » 2011-01-24 17:02

eexpress 写了:|grep -o 'ttys[0-9]*'
-o 这个参数不错,学习了。
半点闲
帖子: 19
注册时间: 2007-10-03 7:42
联系:

Re: sed如何提取一行数据中指定样式的字符串正则表达式?

#7

帖子 半点闲 » 2011-01-25 11:51

还是不能解决上述问题。
头像
trigger
帖子: 1604
注册时间: 2006-10-25 18:08

Re: sed如何提取一行数据中指定样式的字符串正则表达式?

#8

帖子 trigger » 2011-01-25 12:54

sed 's/.*\(ttys[0-9]\+\).*/\1/' lines4
ttys19
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
回复