Chinaunix

标题: gawk从一个数据段中提取数字 [打印本页]

作者: oneouts    时间: 2012-07-26 20:39
标题: gawk从一个数据段中提取数字
本帖最后由 oneouts 于 2012-07-26 20:39 编辑

class="row_proxy_ip">218.76.140.62</span>
class="row_proxy_ip">125.167.38.167</span>
class="row_proxy_ip">78.134.254.96</span>


这是一个数据段,如何提取其中的ip
gawk
谢谢了
作者: oneouts    时间: 2012-07-26 20:49
gawk -F\> '{ print $2 }' | gawk -F\< '{print $1}'
有没有比这个更好的:wink:
作者: kk5234    时间: 2012-07-26 21:14
  1. awk '{print $0=gensub(/[^>]*>(.*)<.*/,"\\1","g")}' infile
复制代码

作者: hbmhalley    时间: 2012-07-26 21:29
  1. awk -F'[^0-9.]*' '$0=$2'
复制代码

作者: jason680    时间: 2012-07-26 21:30
回复 2# oneouts

do it simple

gawk -F'[><]' '{print $2}'
   
作者: oneouts    时间: 2012-07-26 22:42
ls 的方法好
请问
gawk -F'[><]' '{print $2}'中的-F 语法是什么意思
同样 感谢别人的帮助
作者: zooyo    时间: 2012-07-26 22:48
提示: 作者被禁止或删除 内容自动屏蔽
作者: rucypli    时间: 2012-07-27 00:21
awk -F'[><]' '{print $2}'
作者: blackold    时间: 2012-07-27 07:33
回复 6# oneouts


    指定字段分隔符。
作者: personball    时间: 2012-07-27 08:31
grep
  1. personball@vostro:~$echo 'class="row_proxy_ip">218.76.140.62</span>
  2. > class="row_proxy_ip">125.167.38.167</span>
  3. > class="row_proxy_ip">78.134.254.96</span>'|grep -oP '\d+.\d+.\d+.\d+'
  4. 218.76.140.62
  5. 125.167.38.167
  6. 78.134.254.96
  7. personball@vostro:~$
复制代码

作者: jiejie455    时间: 2012-07-27 09:16
sed 's/[^0-9\.]//g' data
作者: ran3guns    时间: 2012-07-27 12:27
回复 11# jiejie455
这个很暴躁啊!


   
作者: 07101060407    时间: 2012-07-27 13:00
sed -r 's/<.+|[^<]+>//g'
作者: painsle    时间: 2012-07-27 14:54
echo "class="row_proxy_ip">218.76.140.62</span>
class="row_proxy_ip">125.167.38.167</span>
class="row_proxy_ip">78.134.254.96</span>
  " | awk -F"[<>]" '{print $2}'
作者: mingming_song    时间: 2012-07-30 11:23
3楼的答案我觉得很OK,学习了




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2