亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 替換拼接出現(xiàn)異常 ,求大神 [打印本頁(yè)]

作者: mvplove123    時(shí)間: 2015-02-09 14:59
標(biāo)題: 替換拼接出現(xiàn)異常 ,求大神
有一個(gè)txt文件,內(nèi)容是
"rizhao_5894";
"shanghai_city_17514";
"linfen_4028";
"heyuan_4577";
"jinzhong_3205";
"sanya_10514";
"wuhu_3082";
"fushun_2402";
"baoding_4349";
"puyang_2319";

現(xiàn)在 ,想在每一段的 前面加上sql語(yǔ)句 UPDATE hotel_info SET attrs = CASE WHEN attrs IS NULL THEN '"language"=>"CHINESE"'::hstore ELSE attrs || '"language"=>"CHINESE"'::hstore END WHERE hotel_seq=  
讓每段都拼成
UPDATE hotel_info SET attrs = CASE WHEN attrs IS NULL THEN '"language"=>"CHINESE"'::hstore ELSE attrs || '"language"=>"CHINESE"'::hstore END WHERE hotel_seq="rizhao_5894";
UPDATE hotel_info SET attrs = CASE WHEN attrs IS NULL THEN '"language"=>"CHINESE"'::hstore ELSE attrs || '"language"=>"CHINESE"'::hstore END WHERE hotel_seq="linfen_4028";
......
我用sed替換,
[yongbo.tao@l-rdc1.h.cn6 ~]$ sed 's/^/UPDATE hotel_info SET attrs = CASE WHEN attrs IS NULL THEN '"language"=>"CHINESE"'::hstore ELSE attrs || '"language"=>"CHINESE"'::hstore END WHERE hotel_seq=/g' addChinese >addsql
-bash: CHINESE::hstore END WHERE hotel_seq=/g: No such file or directory

報(bào)這個(gè)錯(cuò)誤

我用awk拼接

[yongbo.tao@l-rdc1.h.cn6 ~]$ awk  '{print "UPDATE hotel_info SET attrs = CASE WHEN attrs IS NULL THEN '"language"=>"CHINESE"'::hstore ELSE attrs || '"language"=>"CHINESE"'::hstore END WHERE hotel_seq="$0}' addChinese >addSql
awk: {print "UPDATE hotel_info SET attrs = CASE WHEN attrs IS NULL THEN language=
awk:        ^ unterminated string


求大神指教  ,感覺(jué)應(yīng)該是空格 ,或者引號(hào)導(dǎo)致的





作者: ly5066113    時(shí)間: 2015-02-09 15:28
回復(fù) 1# mvplove123
  1. sed 's/^/UPDATE hotel_info SET attrs = CASE WHEN attrs IS NULL THEN \x27"language"=>"CHINESE"\x27::hstore ELSE attrs || \x27"language"=>"CHINESE"\x27::hstore END WHERE hotel_seq=/'
復(fù)制代碼

作者: OS_unix    時(shí)間: 2015-02-09 15:29
sed -i "s#^#UPDATE hotel_info SET attrs = CASE WHEN attrs IS NULL THEN '\"language\"=>\"CHINESE\"'::hstore ELSE attrs || '\"language\"=>\"CHINESE\"'::hstore END WHERE hotel_seq=#g" text 這樣試一下
作者: jason680    時(shí)間: 2015-02-09 15:38
回復(fù) 1# mvplove123

save the sql command in sql.cmd file
Note: easy to know what you want

$ cat sql.cmd
UPDATE hotel_info SET attrs = CASE WHEN attrs IS NULL THEN '"language"=>"CHINESE"'::hstore ELSE attrs || '"language"=>"CHINESE"'::hstore END WHERE hotel_seq=

$ awk 'BEGIN{"cat sql.cmd" | getline sql}{print sql$0}' FILE
UPDATE hotel_info SET attrs = CASE WHEN attrs IS NULL THEN '"language"=>"CHINESE"'::hstore ELSE attrs || '"language"=>"CHINESE"'::hstore END WHERE hotel_seq="rizhao_5894";
...
UPDATE hotel_info SET attrs = CASE WHEN attrs IS NULL THEN '"language"=>"CHINESE"'::hstore ELSE attrs || '"language"=>"CHINESE"'::hstore END WHERE hotel_seq="puyang_2319";








作者: Buring__    時(shí)間: 2015-02-09 16:12
回復(fù) 5# jason680


    好 easy
作者: fangang001    時(shí)間: 2015-02-09 16:13
本帖最后由 fangang001 于 2015-02-09 16:13 編輯

特殊字符處理的問(wèn)題
作者: mvplove123    時(shí)間: 2015-02-10 11:26
這個(gè)可行 啊~回復(fù) 3# ly5066113


   
作者: 聆雨淋夜    時(shí)間: 2015-02-10 12:08
回復(fù) 3# ly5066113
請(qǐng)教tim老師,sed是不是不支持八進(jìn)制\047,支持十六進(jìn)制\x27


   
作者: ly5066113    時(shí)間: 2015-02-13 13:02
回復(fù) 9# 聆雨淋夜


info sed


`\dXXX'
     Produces or matches a character whose decimal ASCII value is XXX.

`\oXXX'
     Produces or matches a character whose octal ASCII value is XXX.

`\xXX'
     Produces or matches a character whose hexadecimal ASCII value is XX.
作者: 聆雨淋夜    時(shí)間: 2015-02-13 13:06
回復(fù) 10# ly5066113
多謝,祝新年快樂(lè)。

   
作者: moperyblue    時(shí)間: 2016-08-05 22:57
本帖最后由 moperyblue 于 2016-08-10 15:27 編輯
  1. more sqlPrefix
復(fù)制代碼
UPDATE hotel_info SET attrs = CASE WHEN attrs IS NULL THEN '"language"=>"CHINESE"'::hstore ELSE attrs || '"language"=>"CHINESE"'::hstore END WHERE hotel_seq=
  1. sed -r '1{x;s/.*/cat sqlPrefix/e;x};G;s/(.*)\n(.*)/\2\1/'
  2. #或
  3. sed 'r sqlPrefix'|sed -r 'N;s/(.*)\n(.*)/\2\1/'
復(fù)制代碼

作者: 杰瑞26    時(shí)間: 2016-08-10 15:03
root@localhost:~# str="UPDATE hotel_info SET attrs = CASE WHEN attrs IS NULL THEN '"language"=>"CHINESE"'::hstore ELSE attrs || '"language"=>"CHINESE"'::hstore END WHERE hotel_seq="
root@localhost:~# sed -r "s#(.*)#${str}\\1#g" file
  1. UPDATE hotel_info SET attrs = CASE WHEN attrs IS NULL THEN 'language=>CHINESE'::hstore ELSE attrs || 'language=>CHINESE'::hstore END WHERE hotel_seq="rizhao_5894";
  2. UPDATE hotel_info SET attrs = CASE WHEN attrs IS NULL THEN 'language=>CHINESE'::hstore ELSE attrs || 'language=>CHINESE'::hstore END WHERE hotel_seq="shanghai_city_17514";
  3. UPDATE hotel_info SET attrs = CASE WHEN attrs IS NULL THEN 'language=>CHINESE'::hstore ELSE attrs || 'language=>CHINESE'::hstore END WHERE hotel_seq="linfen_4028";
  4. UPDATE hotel_info SET attrs = CASE WHEN attrs IS NULL THEN 'language=>CHINESE'::hstore ELSE attrs || 'language=>CHINESE'::hstore END WHERE hotel_seq="heyuan_4577";
  5. UPDATE hotel_info SET attrs = CASE WHEN attrs IS NULL THEN 'language=>CHINESE'::hstore ELSE attrs || 'language=>CHINESE'::hstore END WHERE hotel_seq="jinzhong_3205";
  6. UPDATE hotel_info SET attrs = CASE WHEN attrs IS NULL THEN 'language=>CHINESE'::hstore ELSE attrs || 'language=>CHINESE'::hstore END WHERE hotel_seq="sanya_10514";
  7. UPDATE hotel_info SET attrs = CASE WHEN attrs IS NULL THEN 'language=>CHINESE'::hstore ELSE attrs || 'language=>CHINESE'::hstore END WHERE hotel_seq="wuhu_3082";
  8. UPDATE hotel_info SET attrs = CASE WHEN attrs IS NULL THEN 'language=>CHINESE'::hstore ELSE attrs || 'language=>CHINESE'::hstore END WHERE hotel_seq="fushun_2402";
  9. UPDATE hotel_info SET attrs = CASE WHEN attrs IS NULL THEN 'language=>CHINESE'::hstore ELSE attrs || 'language=>CHINESE'::hstore END WHERE hotel_seq="baoding_4349";
  10. UPDATE hotel_info SET attrs = CASE WHEN attrs IS NULL THEN 'language=>CHINESE'::hstore ELSE attrs || 'language=>CHINESE'::hstore END WHERE hotel_seq="puyang_2319";
復(fù)制代碼





歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2