我有這樣一個文件,其中場均製表符分隔:添加雙引號中的文件的第一個字段
http://article.wn.com/view/wnat51e64f5c0a06e3e18f45e66d5185fc04/ 0 0 0 0 0 0 0 0 0 0 0 0
http://newsok.com/ward-blanks-bruins-in-hurricanes-3-0-win./article/feed/217313?custom_click=rss 0 0 0 0 0 0 0 0 0 0 0 0
http://www.neurosoftware.ro/finance/insurance/stock-market/zoom-ctch-wvvi-hiru-couv-stock-alerts-from-stock-pr-com/ 0 0 0 0 0 0 0 0 0 0 0 0
我想添加雙引號在文件的第一列這樣
"http://article.wn.com/view/wnat51e64f5c0a06e3e18f45e66d5185fc04/" 0 0 0 0 0 0 0 0 0 0 0 0
"http://newsok.com/ward-blanks-bruins-in-hurricanes-3-0-win./article/feed/217313?custom_click=rss" 0 0 0 0 0 0 0 0 0 0 0 0
"http://www.neurosoftware.ro/finance/insurance/stock-market/zoom-ctch-wvvi-hiru-couv-stock-alerts-from-stock-pr-com/" 0 0 0 0 0 0 0 0 0 0 0 0
我嘗試這樣做:
awk -F \t '{sub($1, "\"&\""); print}' file
我得到的結果是這樣的:
"h"ttp://article.wn.com/view/wnat51e64f5c0a06e3e18f45e66d5185fc04/ 0 0 0 0 0 0 0 0 0 0 0 0
"h"ttp://newsok.com/ward-blanks-bruins-in-hurricanes-3-0-win./article/feed/217313?custom_click=rss 0 0 0 0 0 0 0 0 0 0 0 0
"h"ttp://www.neurosoftware.ro/finance/insurance/stock-market/zoom-ctch-wvvi-hiru-couv-stock-alerts-from-stock-pr-com/ 0 0 0 0 0 0 0 0 0 0 0 0
是否有任何建議,以解決這一問題?
在'-F \ t'中,反斜槓在* shell *中引用t,所以awk將't'用作字段分隔符;使標籤使用單引號'-F'\ t''或加倍反斜線'-F \\ t'。但你似乎並不需要這個;有效的URL不能包含空格,並且看起來你的其他字段沒有,所以awk默認的FS有效[:white:] +對你來說可以。另外,你不需要'sub()'你可以做的全部行''{$ 1 =「\」「$ 1」\「」; print}''或者更易讀'-vq ='「'' {$ 1 = q $ 1q; print}'' – 2014-11-05 10:29:03