免费注册 查看新帖 |

Chinaunix

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

sed+awk+$请教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-07 11:37 |只看该作者 |倒序浏览
10可用积分
想截取中/etc/passwd文件中uid>=500的id
# cat /etc/passwd

  1. ......
  2. distcache:x:94:94:Distcache:/:/sbin/nologin
  3. apache:x:48:48:Apache:/var/www:/sbin/nologin
  4. webalizer:x:67:67:Webalizer:/var/www/usage:/sbin/nologin
  5. squid:x:23:23::/var/spool/squid:/sbin/nologin
  6. xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin
  7. sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin
  8. ais:x:39:39:openais Standards Based Cluster Framework:/:/sbin/nologin
  9. pegasus:x:66:65:tog-pegasus OpenPegasus WBEM/CIM services:/var/lib/Pegasus:/sbin/nologin
  10. luci:x:100:101::/var/lib/luci:/sbin/nologin
  11. piranha:x:60:60::/etc/sysconfig/ha:/sbin/nologin
  12. ricci:x:101:102::/var/lib/ricci:/sbin/nologin
  13. gfsuser:x:500:500:a normal user for $:/home/gfsuser:/bin/bash
  14. new1:x:501:501::/home/new1:/bin/bash
复制代码




#sed -n "`sed -n '/500:500/=' /etc/passwd`,$ p" /etc/passwd | awk '{print $1}'
gfsuser:500:500:a
new1:501:501::/home/new1:/bin/bash

然后呢?我想一行搞定。。。截取出gfsuser和new1

这个才是最佳答案:

原帖由 jackymail 于 2008-4-7 12:05 发表 awk -F':' '($3>=500)&&($3<=xxxxx){print $1}' /etc/passwd

[ 本帖最后由 yuhuohu 于 2008-4-7 12:30 编辑 ]

最佳答案

查看完整内容

yupftest]# sed -n "`sed -n '/500:500/=' 5`,$ p" 5 | awk -F: '{print $1}'gfsusernew1[ 本帖最后由 codfei 于 2008-4-7 11:46 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-04-07 11:37 |只看该作者
yupftest]# sed -n "`sed -n '/500:500/=' 5`,$ p" 5 | awk -F: '{print $1}'
gfsuser
new1

[ 本帖最后由 codfei 于 2008-4-7 11:46 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2008-04-07 11:42 |只看该作者
awk -F':' '($3>=500){print $1}' /etc/passwd

[ 本帖最后由 灿烂小猪 于 2008-4-7 11:45 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2008-04-07 11:52 |只看该作者
原帖由 灿烂小猪 于 2008-4-7 11:42 发表
awk -F':' '($3>=500){print $1}' /etc/passwd



awk -F':' '($3>=500){print $1}' /etc/passwd
nfsnobody
gfsuser
new1

多了一个。。。nfsnobody账号。。。系统默认滴不要

关键是awk的-F啊。。。多谢

论坛徽章:
0
5 [报告]
发表于 2008-04-07 12:05 |只看该作者
原帖由 yuhuohu 于 2008-4-7 11:52 发表



awk -F':' '($3>=500){print $1}' /etc/passwd
nfsnobody
gfsuser
new1

多了一个。。。nfsnobody账号。。。系统默认滴不要

关键是awk的-F啊。。。多谢

awk -F':' '($3>=500)&&($3<=xxxxx){print $1}' /etc/passwd

论坛徽章:
0
6 [报告]
发表于 2008-04-07 12:08 |只看该作者
awk -F':' '($3>=500&&$3!=65534){print $1}' /etc/passwd

论坛徽章:
0
7 [报告]
发表于 2008-04-07 12:12 |只看该作者
sed -n '/500:500/=' /etc/passwd
这句啥意思?

论坛徽章:
0
8 [报告]
发表于 2008-04-07 12:15 |只看该作者
原帖由 nuclearxin 于 2008-4-7 12:12 发表
sed -n '/500:500/=' /etc/passwd
这句啥意思?


输出符合500:500所在行的行号。

论坛徽章:
0
9 [报告]
发表于 2008-04-07 12:17 |只看该作者
.......
用sed 获取行号 作为sed 的地址....
克了
看懂不容易啊

论坛徽章:
0
10 [报告]
发表于 2008-04-07 12:28 |只看该作者
原帖由 jackymail 于 2008-4-7 12:05 发表

awk -F':' '($3>=500)&&($3



这个才是最佳答案啊。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP