免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: wangduo112
打印 上一主题 下一主题

帮忙写一个文本处理的脚本 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-03-02 18:45 |只看该作者
awk -F ":" -v key="关键字" '$5==key' urfile

[ 本帖最后由 ywlscpl 于 2009-3-2 18:46 编辑 ]

论坛徽章:
0
12 [报告]
发表于 2009-03-02 18:49 |只看该作者
原帖由 wangduo112 于 2009-3-2 18:10 发表
要处理的文本:
[root@RedHat-LAMP ~]# cat test
root:0:0:root:/root:/bin/bash
operator:11:0perator:root:/sbin/nologin

实现功能为
用户输入关键字root,该关键字会检查以:为分隔符的第5序列 ...

你可试着改变awk的输出:
比如:
if [ "$(awk -F: '$5 ~ /'$keyword'/{print "yes"}' file)" = "yes" ];then echo find;fi

论坛徽章:
0
13 [报告]
发表于 2009-03-02 19:39 |只看该作者

回复 #5 wangduo112 的帖子

我晕了,误会你的意思了

论坛徽章:
0
14 [报告]
发表于 2009-03-02 19:48 |只看该作者
原帖由 tinyhong 于 2009-3-2 18:39 发表
这个更严格

#!/bin/bash

PWFILE="/etc/passwd"

[ $# -ne 1 ] && echo "miss argument." && exit 1

cut -d':' -f5 $PWFILE | grep "^$1$" >> /dev/null
[ $? -eq 0 ] && echo "FIND" || echo "NO"



牛人啊~

论坛徽章:
0
15 [报告]
发表于 2009-03-03 12:18 |只看该作者
#!/bin/bash
echo -e "请输入关键字:\c"
read WORD
awk -F : '{print $5}' /etc/passwd|grep $WORD|grep -v grep>>/dev/null
if [ "$?" = 0 ]; then
echo "$WORD匹配"
else
echo "$WORD没有找到"
fi

论坛徽章:
0
16 [报告]
发表于 2009-03-03 12:41 |只看该作者
原帖由 justlooks 于 2009-3-2 18:43 发表
#!/bin/bash

echo -n "input word: "
read keyword
awk -F":" -v a=$keyword '$1~a{if($5~a){print "ok";}else{print "not match";}}' /etc/passwd


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP