【问题标题】:cat passwd | awk -F':' '{printf $1}' Is this command correct?猫密码 | awk -F':' '{printf $1}' 这个命令正确吗?
【发布时间】:2014-11-22 21:49:11
【问题描述】:

我想知道cat passwd | awk -F':' '{printf $1}' 的工作原理。 cat /etc/passwd是从root到当前用户的ID和文件夹的用户列表(不知道是不是和cat passwd有关)。 -F 是某种输入文件,{printf $1} 正在打印第一列。到目前为止,这就是我搜索的内容,但对我来说似乎很困惑。

谁能帮助我或向我解释一下是对是错?

【问题讨论】:

  • 对还是错?根据什么?
  • 除其他外,它假定您当前位于/etc 目录中,或者您的当前目录中有一个passwd 文件。如果您确实需要系统密码文件,请使用完整路径名/etc/passwd。如果系统使用 /etc/passwd 以外的机制(例如 NIS 或 LDAP),它将不会显示所有用户名。所有这些命令都有很好的文档记录; man awk 会告诉你 -F 的确切含义(它不是“某种输入文件”)。
  • @MarounMaroun 命令。
  • 我并不是要粗鲁,但从各方面来看,你离你太远了,你需要找到某种“UNIX 入门”教程并按照自己的方式完成。

标签: linux awk cat


【解决方案1】:

这相当于awk -F: '{print $1}' passwdcat 命令是多余的,因为它所做的只是读取文件。

-F 选项确定awk 的字段分隔符。冒号周围的引号也是多余的,因为在这种情况下,冒号对于外壳来说并不是特殊的。 print 调用告诉awk 使用$1 打印第一个字段。您没有传递格式字符串,因此您的意思可能是 print 而不是 printf

【讨论】:

    猜你喜欢
    • 2012-04-02
    • 1970-01-01
    • 1970-01-01
    • 2016-07-08
    • 1970-01-01
    • 2015-05-18
    • 2011-06-26
    • 2013-03-06
    • 1970-01-01
    相关资源
    最近更新 更多