awk中的字段分隔符在这里做什么?

awk中的字段分隔符在这里做什么?,awk,Awk,在这种情况下,指定的字段分隔符是如何工作的 awk -F\' '{print "conn kill "$2"\nrepair mailbox "$2" repair=1"}' -F\使用单引号'作为字段分隔符 另外,通过在\前面加一个\来转义,这样awk就不会将'视为动作部分的开头 或者,您可以将“括在双引号中: $ echo "foo'bar'baz" | awk -F\' '{print $1}' foo $ echo "foo'bar'baz" | awk -F"'" '{print $

在这种情况下,指定的字段分隔符是如何工作的

awk -F\' '{print "conn kill "$2"\nrepair mailbox "$2" repair=1"}'

-F\
使用单引号
'
作为字段分隔符

另外,通过在
\
前面加一个
\
来转义
,这样awk就不会将
'
视为动作部分的开头

或者,您可以将
括在双引号中:

$ echo "foo'bar'baz" | awk -F\' '{print $1}'
foo
$ echo "foo'bar'baz" | awk -F"'" '{print $1}'
foo

-F\
使用单引号
'
作为字段分隔符

另外,通过在
\
前面加一个
\
来转义
,这样awk就不会将
'
视为动作部分的开头

或者,您可以将
括在双引号中:

$ echo "foo'bar'baz" | awk -F\' '{print $1}'
foo
$ echo "foo'bar'baz" | awk -F"'" '{print $1}'
foo

AWK逐行处理文件。每一行都被划分为字段,您可以使用美元变量
$1
..
$9
$0
是整行,IIRC)访问这些字段。默认情况下,使用空格分隔将行拆分为字段,但您可以使用
-F
命令行选项或
FS
变量指定要拆分的字符


因此,在您的示例中,字段分隔符设置为单引号(
)。因此,像
foo'bar'baz
这样的输入行将设置
$1==“foo”
$2==“bar”
$3==“baz”
AWK逐行处理文件。每一行都被划分为字段,您可以使用美元变量
$1
..
$9
$0
是整行,IIRC)访问这些字段。默认情况下,使用空格分隔将行拆分为字段,但您可以使用
-F
命令行选项或
FS
变量指定要拆分的字符

因此,在您的示例中,字段分隔符设置为单引号(
)。因此,像
foo'bar'baz
这样的输入行将设置
$1==“foo”
$2==“bar”
$3==“baz”