これは手間がかかりました。私はいくつかのユーザーDNを持つテキストファイルを持っていて、LogonHoursパターン(PowerShellを使用してActive Directoryから抽出したもの)を持つマトリックスをそれぞれ1つ以下にしています。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
特定のLogonHoursパターンを使用してAWKでユーザー名を抽出するにはどうすればよいですか?
私は次のようにRSとして「パターンファイル」を使用してAWKを使用して、特定のパターンの数をカウントすることができました。次の内容のpatternfileを使用して
awk -v RS="$(<patternfile.txt)" '{print RT}' logonhoursCNlist.txt | grep "Week M-3" | wc -l
期待される結果...
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
が...このようなCNSに対する単なるユーザ名、次のとおりです。
John Doe
すべてのヘルプIありがとう!
「パターンファイル」をRS_として使用してAWKを使用して特定のパターンの数を数える方法を投稿してください。 –
@JamesBrown: awk -v RS = "$( {print RT} 'logonhoursource.txt | grep "Week M-3" | wc -l "patternfile.txt"は、logonhoursource.txtから抽出されたDNの間の部分だけです。 –
あなたの入力のどこにでも 'DN 'というテキストは表示されません。あなたはCNを意味しますか?そうでない場合は、 'DN 'が何であるかを明確にしてください。あなたの略語がわからないと仮定しないでください。重大:[編集]あなたの質問は、その入力を与えられた期待される出力を含める。 –