免费注册 查看新帖 |

Chinaunix

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

[文本处理] awk切割字段的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-01-21 11:40 |只看该作者 |倒序浏览
有一个文件test
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0   2280   732 ?        Ss   08:20   0:00 init [2]  
root       327  0.0  0.1   2916  1456 ?        Ss   08:20   0:00 udevd --daemon
root      1681  0.0  0.0   2376   800 ?        Ss   08:20   0:00 /sbin/rpcbind -w
root      2071  0.0  0.1  27920  1708 ?        Sl   08:20   0:00 /usr/sbin/rsyslogd -c5
我想获得最后一个字段的输出结果
debian@debian:~$ awk '{print $11}'  test
COMMAND
init
udevd
/sbin/rpcbind
/usr/sbin/rsyslogd

debian@debian:~$ awk '{print $12}' test

[2]
--daemon
-w
-c5

我希望的结果是:
COMMAND
init [2]
udevd --daemon
/sbin/rpcbind -w
/usr/sbin/rsyslogd -c5
请问,应当如何写这个awk命令?

论坛徽章:
4
天秤座
日期:2013-10-18 13:58:33金牛座
日期:2013-11-28 16:17:01辰龙
日期:2014-01-14 09:54:32戌狗
日期:2014-01-24 09:23:27
2 [报告]
发表于 2013-01-21 12:01 |只看该作者
awk '{print $11 "   " $12}' test

可以么?

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
3 [报告]
发表于 2013-01-21 13:59 |只看该作者
  1. awk '{for(i=11;i<=NF;i++)a=a?a" "$i:$i;print a;a=""}'
复制代码

论坛徽章:
13
丑牛
日期:2013-08-16 15:08:22技术图书徽章
日期:2013-11-26 10:13:40双鱼座
日期:2013-11-08 15:03:26戌狗
日期:2013-11-08 13:52:30技术图书徽章
日期:2013-11-05 14:06:30戌狗
日期:2013-10-31 11:45:42CU十二周年纪念徽章
日期:2013-10-24 15:41:34天秤座
日期:2013-10-11 14:55:08子鼠
日期:2013-09-26 19:36:35水瓶座
日期:2013-09-26 17:44:56午马
日期:2013-08-26 10:24:23丑牛
日期:2013-08-19 14:43:22
4 [报告]
发表于 2013-01-21 14:15 |只看该作者
  1. awk 'NR==1{print $NF;next}{print $(NF-1)" "$NF}'
复制代码

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
5 [报告]
发表于 2013-01-22 11:13 |只看该作者
因为说不定后面的command有几个空格,所以楼上的可能不够用,还是 2 楼的更保险。
  1. [seesea@UC ~]$ awk '{for (i = 11; i <= NF; ++i) printf $i OFS; printf ORS}' file.txt
  2. COMMAND
  3. init [2]
  4. udevd --daemon
  5. /sbin/rpcbind -w
  6. /usr/sbin/rsyslogd -c5
复制代码

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
6 [报告]
发表于 2013-01-22 11:14 |只看该作者
回复 5# seesea2517


    不是二楼,是三楼……

论坛徽章:
0
7 [报告]
发表于 2013-01-22 15:07 |只看该作者
本帖最后由 jils2013 于 2013-01-22 15:08 编辑
  1. [root@localhost~]$ ps -eo cmd | more
  2. CMD
  3. init [5]                             
  4. [migration/0]
  5. [ksoftirqd/0]
  6. [watchdog/0]
  7. [migration/1]
  8. [ksoftirqd/1]
  9. [watchdog/1]
  10. [migration/2]
复制代码

论坛徽章:
1
2015亚冠之西悉尼流浪者
日期:2015-05-28 16:30:37
8 [报告]
发表于 2013-01-23 10:42 |只看该作者
:wink:路过学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP