在這種情況下,指定的字段分隔符是如何工作的?awk中的字段分隔符在這裏做什麼?
awk -F\' '{print "conn kill "$2"\nrepair mailbox "$2" repair=1"}'
在這種情況下,指定的字段分隔符是如何工作的?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 $1}'
foo
AWK逐行處理文件行。並且每一行都被分隔成幾個字段,您可以使用美元變量$1
... $9
($0
是整行IIRC)訪問。默認情況下,通過在空白處使用分隔將行分割爲字段,但可以使用-F
命令行選項或FS
變量指定要分割的字符。
所以在你的情況下,字段分隔符設置爲單引號('
)。像foo'bar'baz
這樣的輸入線因此將設置$1 == "foo"
,$2 == "bar"
和$3 == "baz"
。