這是一個棘手的問題:我有一個包含多個用戶DN的文本文件,並且每個都有一個帶LogonHours模式的矩陣(使用PowerShell從Active Directory中提取)。看起來像這樣:如何使用AWK過濾用戶CN的矩陣模式?
CN=John Doe,OU=Users,OU=Almox,DC=acme,DC=inc
Day
of --------- Daily Hours --------
Week M-3 3-6 6-9 9-N N-3 3-6 6-9 9-M
Dom 000 000 000 000 000 000 000 000
Seg 000 000 011 111 111 111 100 000
Ter 000 000 011 111 111 111 100 000
Qua 000 000 011 111 111 111 100 000
Qui 000 000 011 111 111 111 100 000
Sex 000 000 011 111 111 111 100 000
Sab 000 000 000 000 000 000 000 000
CN=Jack Dumb,OU=Users,OU=Managers,DC=acme,DC=inc
All Hours
CN=Barry Foo,OU=Disabled Users,DC=acme,DC=inc
Day
of --------- Daily Hours --------
Week M-3 3-6 6-9 9-N N-3 3-6 6-9 9-M
Dom 000 000 000 000 000 011 111 111
Seg 111 111 111 111 111 111 111 111
Ter 111 111 111 111 111 111 111 111
Qua 111 111 111 111 111 111 111 111
Qui 111 111 111 111 111 111 111 111
Sex 111 111 111 111 111 111 111 111
Sab 111 111 111 111 110 000 000 000
我怎樣才能提取具有AWK特定LogonHours模式的用戶名?
我能數的使用AWK使用「模式文件」作爲RS如下特定圖案數量:
awk -v RS="$(<patternfile.txt)" '{print RT}' logonhoursCNlist.txt | grep "Week M-3" | wc -l
使用具有以下內容的patternfile
預期結果......
Day
of --------- Daily Hours --------
Week M-3 3-6 6-9 9-N N-3 3-6 6-9 9-M
Dom 000 000 000 000 000 000 000 000
Seg 000 000 011 111 111 111 100 000
Ter 000 000 011 111 111 111 100 000
Qua 000 000 011 111 111 111 100 000
Qui 000 000 011 111 111 111 100 000
Sex 000 000 011 111 111 111 100 000
Sab 000 000 000 000 000 000 000 000
...只是對中樞神經系統的用戶名,如:
John Doe
任何幫助我將不勝感激!
請發表您如何使用AWG使用「模式文件」作爲RS_來計算特定模式的數量? –
@JamesBrown: awk -v RS =「$(
我在輸入中的任何地方都看不到文字「DN」。你的意思是'CN'?如果不是,請說明「DN」是什麼,不要以爲我們熟悉縮寫。至關重要的:[編輯]你的問題,包括輸入的預期輸出。 –