我有一個awk腳本,它通過日誌文件 腳本解析:awk腳本中的命令行輸入?
BEGIN{
print "ID", "vFiler", "Type", "host"
}
/=====/{
vFiler=$2
next
}
match($0,/root=[^,]*/){
n=split(substr($0,RSTART+5,RLENGTH-5),N,/:/)
for(i=1; i<=n; i++)print vFiler,$1,N[i];
}
現在我的問題,你可以看到有一個ID設置爲啓動,這應該意味着在每次鍵入在腳本運行之前,因爲這些文件每次都有不同的ID。所以我想知道我該怎麼做,寫一個shell腳本來執行這個操作並執行awk腳本。或者有沒有辦法在awk腳本中編寫這個代碼(也許使用getLine ?!)?
輸出我要實現的是:
ID,vFiler,Type,host
1,vfiler0,/vol/vol0,fapra8.net
4,vfiler1,/vol/lnxpjmmorena,fcvapd10.net
4,vfiler1,/vol/CSArchive,fcvapd11.net
(在謝勝利情況下,ID將保持不變,因爲服務器都列在同一類型)
執行腳本之後,應該說像「輸入ID」或類似的東西。
如果不能在awk腳本中完成請不要讓寫一個shell腳本(一般我只是想知道我怎麼能做到這一點,但即時通訊每一個答案感激)
的努力在此先感謝
如果這是一個獨立的awk腳本將最後一個args /文件傳遞給awk您正在搜索的東西。設置一個變量爲argv [N],然後從argc中刪除它 – 2014-10-28 12:24:56