Linux 这些AWK命令中的一些是做什么的?

Linux 这些AWK命令中的一些是做什么的?,linux,awk,Linux,Awk,我正在尝试学习本章作业中的AWK命令,他们给出的命令示例之一是: awk -F: '{printf "%s\t %s\n", $1, $2}' datafile 虽然我理解这些术语中的大多数,但我不知道%s\t%s\n“指的是什么。我似乎找不到他们在这个命令中的确切目的。任何反馈都会有所帮助,因为我是一名linux一年级的学生,所以请尽量不要用太专业的回答awk-F:将字段分隔符设置为: “{printf”%s\t%s\n“,$1,$2}”打印字段nr1选项卡字段nr2输入 数据文件 更多细节

我正在尝试学习本章作业中的AWK命令,他们给出的命令示例之一是:

awk -F: '{printf "%s\t %s\n", $1, $2}' datafile

虽然我理解这些术语中的大多数,但我不知道
%s\t%s\n“
指的是什么。我似乎找不到他们在这个命令中的确切目的。任何反馈都会有所帮助,因为我是一名linux一年级的学生,所以请尽量不要用太专业的回答

awk-F:
将字段分隔符设置为

“{printf”%s\t%s\n“,$1,$2}”
打印字段nr1选项卡字段nr2输入
数据文件

更多细节
%s
#先归档($1)
\t
#制表符+空格
%s
#第二次提交($2)
\n
#添加新行

,$1
#第一个字段
,$2
#第二个字段

另请参见此处:

您是否检查了

-F
是分隔符-您说您处理的字段由
分隔,如:

foo:bar:baz
1:2:3
printf
是一种带有格式指令的打印,其中

  • %s
    -打印字符串
  • \t
    -打印选项卡
  • \n
    打印新行
  • $1
    $2
    -打印第一个和第二个元素(如
    foo
    bar
    中的
    foo:bar:bas

printf
在这里使用三个参数:第一个是格式(
%s…
部分,一个“模具”),接下来的两个参数(
$1
$2
)是要以格式显示的变量(将它们塞进模具)。第一个变量(此处-
$1
)将替换第一个
%s
,第二个变量(
$2
)将替换第二个
%s

第一个
%s
将放置
$1
的值

第二个
%s
是放置
$2
值的位置

\t
是一个选项卡


\n
是一个新行。

现在应该可以了,我确实单击了“回车”以获得新行,它发布了它谢谢你,我希望这些书能更深入一点!是的,我做了一个男人,老实说,因为我是新来的。我不知道awk和gawk是一样的,所以我退出了…--