我正在运行这个 awk 程序:
awk -F: '{if($1=="waheed") {$2=1;print $0}}' /etc/passwd
输出是:
mysql 1 118 129 MySQL Server,,, /nonexistent /bin/false
没有:
分隔符,如何使它在这种情况下用分隔符打印行?注意:这发生在写表达式之后$2=1
。
您可以像这样直接使用 awk 命令:
awk 'BEGIN{OFS=":"} {your code here}'
开始引号中的所有代码只运行一次
-v 选项用于将参数转换为脚本。喜欢:
awk '{print $pid_doc}' -v pid_doc="$Param"
这个 $Param 可以从你的 shell 脚本中给出
在 awk 中,输出由 OFS(输出字段分隔符)变量的内容分隔,默认情况下是空格。这可以用 -v OFS=':' 来设置
awk -F : -v OFS=':' '{ cmds}' file