#!/usr/bin/awk -f
#例子程序,针对用户名,从/et/passwd中来自动进行查找,并输出相关的信息
#awk甚至可以直接定义全局变量
g_counter=0;
function finduser(name){
posname=5;
posdir=7;
split($0, s, ":");
for(i in s){
#查找相同的用户名
#字符串判断,使用match来进行匹配,数值直接使用==
if(match(s[posname],name)){
if(g_counter == 0)
printf("用户名称:%s 行号:%d 用户根目录:%s\n", name, NR, s[posdir]);
g_counter++;
}
}
}
BEGIN{
#因为awk会自动解析脚本文件,所以输入参数尽量是采用变量的形式来进行输入
#例如本脚本执行的时候以user作为变量,则示例调用如下:
#其他的变量也是同样的使用方法
#./13.awk user=root /etc/passwd
print "打印输入参数:"
for(i in ARGV){
print "i=",i,"argv=",ARGV[i];
}
}
{
finduser(user);
}
#例子程序,针对用户名,从/et/passwd中来自动进行查找,并输出相关的信息
#awk甚至可以直接定义全局变量
g_counter=0;
function finduser(name){
posname=5;
posdir=7;
split($0, s, ":");
for(i in s){
#查找相同的用户名
#字符串判断,使用match来进行匹配,数值直接使用==
if(match(s[posname],name)){
if(g_counter == 0)
printf("用户名称:%s 行号:%d 用户根目录:%s\n", name, NR, s[posdir]);
g_counter++;
}
}
}
BEGIN{
#因为awk会自动解析脚本文件,所以输入参数尽量是采用变量的形式来进行输入
#例如本脚本执行的时候以user作为变量,则示例调用如下:
#其他的变量也是同样的使用方法
#./13.awk user=root /etc/passwd
print "打印输入参数:"
for(i in ARGV){
print "i=",i,"argv=",ARGV[i];
}
}
{
finduser(user);
}