$ cat /etc/sudoers
inavg7ey evl0000332,evl0000333,evl0000234,evl0000999,evs99234456,\\
evl3300987,evl3344567,evlser999,eul000123,evs3300123,evs3300124,\\
(root,jboss,superss) NOPASSWD:ALL
inavgmcn evl0000332,evl0000333,evl0000234,evl0000999=(all,wasadmin,\\
jboss,superss) NOPASSWD:ALL
我也想用第二行打印 inavg7ey 用户详细信息(如果还有更多行,我也想要它们).. 任何人都可以帮助我吗?我试过这个:
awk '/inavg7ey/' /etc/sudoers
但它只显示了这个:
inavg7ey evl0000332,evl0000333,evl0000234,evl0000999,evs99234456,\
最佳答案
你应该为此使用 grep。这将在匹配后打印 2 行
grep -A2 inavg7ey /etc/sudoers
--编辑--
如果您先删除换行符,一切都会变得更容易。这将在一行上打印每个用户。十简单使用grep获取正确的用户
cat /etc/sudoers | sed ':a;N;$!ba;s/\\\\\n//g'
或
cat /etc/sudoers | sed ':a;N;$!ba;s/\\\\\n//g' | grep inavg7ey
关于linux - 一场比赛后打印多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29946647/