我有这样一个文件,其中场均制表符分隔:添加双引号中的文件的第一个字段
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