2011-12-09 41 views

回答

2

-F\'使用單引號'作爲字段分隔符。

另外,'正在與\它前面,這樣awk並不認爲'的作爲操作部分的開始逃跑。

另外,您可以用雙引號括了'

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

AWK逐行處理文件行。並且每一行都被分隔成幾個字段,您可以使用美元變量$1 ... $9$0是整行IIRC)訪問。默認情況下,通過在空白處使用分隔將行分割爲字段,但可以使用-F命令行選項或FS變量指定要分割的字符。

所以在你的情況下,字段分隔符設置爲單引號(')。像foo'bar'baz這樣的輸入線因此將設置$1 == "foo",$2 == "bar"$3 == "baz"