-1
我想知道cat passwd | awk -F':' '{printf $1}'
的工作原理。 cat /etc/passwd
是从根目录到当前用户的具有ID和文件夹的用户列表(我不知道它是否与cat passwd
有关)。 -F
是某种输入文件,并且{printf $1}
正在打印第一列。这就是我迄今为止搜索到的,但似乎让我感到困惑。
任何人都可以帮助我或向我解释,如果它是正确的或错误的,请?
我想知道cat passwd | awk -F':' '{printf $1}'
的工作原理。 cat /etc/passwd
是从根目录到当前用户的具有ID和文件夹的用户列表(我不知道它是否与cat passwd
有关)。 -F
是某种输入文件,并且{printf $1}
正在打印第一列。这就是我迄今为止搜索到的,但似乎让我感到困惑。
任何人都可以帮助我或向我解释,如果它是正确的或错误的,请?
这相当于awk -F: '{print $1}' passwd
。 cat
命令是多余的,因为它所做的只是读取文件。
-F
选项确定awk
的字段分隔符。结肠周围的引号也是多余的,因为冒号在这种情况下并不是特殊的。 print
调用告诉awk
使用$1
打印第一个字段。您未传递格式字符串,因此您可能的意思是print
而不是printf
。
对还是错?根据什么? – Maroun 2014-11-22 21:50:13
除此之外,它假定你当前在'/ etc'目录下,或者你当前目录下有一个'passwd'文件。如果您确实需要系统密码文件,请使用完整路径名“/ etc/passwd”。如果系统使用除/ etc/passwd之外的机制(如NIS或LDAP),则不会显示所有用户名。所有这些命令都有很好的文档记录; 'awk'本来会告诉你什么'-F'的意思(它不是“某种输入文件”)。 – 2014-11-22 22:17:10
@MarounMaroun命令。 – 2014-11-23 02:45:02