免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 8098 | 回复: 12
打印 上一主题 下一主题

awk截取字符串 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-02-29 16:38 |只看该作者 |倒序浏览
在写一个小小的shell插件时需要截取下字符串,看了下AWK,感觉有点复杂,以后又用不到,所以就不想深入了,
Description:    CentOS release 5.5 (Final)
截取的比较简单,只要把CentOS release 5.5(Final)这几个字符串,
应该比较简单吧,谢谢

论坛徽章:
0
2 [报告]
发表于 2012-02-29 16:41 |只看该作者
我自己弄了个awk -F [:]'{print $2}',
但这样空格就出来了,还要把前面的空格删掉,有木有一次搞定的

论坛徽章:
0
3 [报告]
发表于 2012-02-29 17:04 |只看该作者
本帖最后由 qinggzha 于 2012-02-29 17:15 编辑

echo "Description:    CentOS release 5.5 (Final)"|awk -F: '{print $2}' |sed 's/^ *//g'

这样最好,因为我不确定你这前面有几个空格

论坛徽章:
0
4 [报告]
发表于 2012-02-29 17:08 |只看该作者
本帖最后由 q369965658 于 2012-02-29 17:09 编辑

呵呵,我也这样写的,和你想的一样
但还是要多谢,,,{:2_168:}
偶老大说这样也行,但这样又重新开启了一个SED子线程,造成性能下降,最好能在shell里面把它搞定,
有shell能去空格的方法么。

论坛徽章:
0
5 [报告]
发表于 2012-02-29 17:09 |只看该作者
本帖最后由 mpstat 于 2012-02-29 17:10 编辑

回复 4# q369965658
  1.     grep -oP '(?<= )CentOS.+'
复制代码

论坛徽章:
0
6 [报告]
发表于 2012-02-29 17:20 |只看该作者
  1. [joe@joe-laptop ~]$ a='Description:    CentOS release 5.5 (Final)'
  2. [joe@joe-laptop ~]$ echo ${a#* }
  3. CentOS release 5.5 (Final)
复制代码

论坛徽章:
0
7 [报告]
发表于 2012-02-29 17:32 |只看该作者
awk -F":    " '{print $2}'

论坛徽章:
1
巳蛇
日期:2013-10-28 15:55:33
8 [报告]
发表于 2012-02-29 17:45 |只看该作者
6#方法妙. echo 后面不加引号, 自动去掉首位空格, 还可把中间连续的空格变成一个.

论坛徽章:
0
9 [报告]
发表于 2012-02-29 18:14 |只看该作者
  1. echo "Description:    CentOS release 5.5 (Final)"|awk -F: '{sub(/^  */,"",$2);print $2}'
复制代码

论坛徽章:
5
未羊
日期:2014-08-04 16:15:21天秤座
日期:2014-08-13 13:52:372015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:112015亚冠之浦和红钻
日期:2015-06-29 15:30:48
10 [报告]
发表于 2012-02-29 23:43 |只看该作者
  1. cut -c 17-
复制代码
写个最懒惰的最土的方法。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP