awk調用函數
#!/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);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.