一部のユーザーのUID / GIDを確認するためにdscacheutilコマンドを使用しています。 -Aフラグでgrepを使用すると、必要な操作が実行されますが、与えることは意味がありません。出力は次のとおりです。
Edit8:~ edit08$ dscacheutil -q user | grep -A 6 "userX"
name: userX
password: ********
uid: 2063
gid: 1021
dir: /Users/userX
shell: /bin/sh
gecos: User X
name: userA
password: ********
uid: 2013
Edit8:~ edit08$ dscacheutil -q user | grep -A 4 "userX"
name: userX
password: ********
uid: 2063
gid: 1021
dir: /Users/userX
shell: /bin/sh
gecos: User X
name: userA
Edit8:~ edit08$ dscacheutil -q user | grep -A 2 "userX"
name: userX
password: ********
uid: 2063
--
dir: /Users/userX
shell: /bin/sh
gecos: User X
Edit8:~ edit08$ dscacheutil -q user | grep -6 "userX"
uid: 2012
gid: 1010
dir: /Users/userB
shell: /bin/sh
gecos: User B
name: userX
password: ********
uid: 2063
gid: 1021
dir: /Users/userX
shell: /bin/sh
gecos: User X
name: userA
password: ********
uid: 2013
Edit8:~ edit08$ dscacheutil -q user | grep -A 2 "userX"
name: userX
password: ********
uid: 2063
--
dir: /Users/userX
shell: /bin/sh
gecos: User X
Edit8:~ edit08$ dscacheutil -q user | grep -A 3 "userX"
name: userX
password: ********
uid: 2063
gid: 1021
dir: /Users/userX
shell: /bin/sh
gecos: User X
Edit8:~ edit08$
私のロジックでは、行数は6でなければならないと指示していますが、実際には3です。
そこに誰がいませんか?
ありがとう
ベストアンサー1
~~~
パターンに一致する行を表示し、次の行に番号を付けました。
Edit8:~ edit08$ dscacheutil -q user | grep -A 6 "userX"
~~~ name: userX
1 password: ********
2 uid: 2063
3 gid: 1021
~~~ dir: /Users/userX
1 shell: /bin/sh
2 gecos: User X
3
4 name: userA
5 password: ********
6 uid: 2013
Edit8:~ edit08$ dscacheutil -q user | grep -A 3 "userX"
~~~ name: userX
1 password: ********
2 uid: 2063
3 gid: 1021
~~~ dir: /Users/userX
1 shell: /bin/sh
2 gecos: User X
3
ご覧のとおり、関連grep -A n
する一致よりも多くの行は表示されません。n
一致が互いに近いため、含まれる行が長くなります。