Vim Part25 [転載禁止]©5ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2015/03/30(月) 20:04:42.55http://www.vim.org/
前スレ
Vim Part24
http://peace.2ch.net/test/read.cgi/unix/1413122189/
関連情報は>>2-6あたり
0789名無しさん@お腹いっぱい。
2015/11/24(火) 07:29:01.12糞データのほうを直したほうが良い。
0790名無しさん@お腹いっぱい。
2015/11/24(火) 22:39:57.170791名無しさん@お腹いっぱい。
2015/11/24(火) 23:19:13.51手軽にデータ整形ならvimじゃなくてスクリプト書いてやった方がいいんじゃね
0792名無しさん@お腹いっぱい。
2015/11/24(火) 23:51:10.220793名無しさん@お腹いっぱい。
2015/11/25(水) 02:24:25.19とりあえずなら、一旦、別の文字に退避とかすればいいんじゃない?
こんな感じで、
function! MySplit(str)
let vals = []
for val in split(substitute(a:str,'\\,','@@@','g'),',')
let vals += [ substitute(val, '@@@','\\,','g') ]
endfo
return vals
endf
俺の、人生初 vim function だから、出来はよくわからないけど、
とりあえず動いた。…
こんなんでも嬉しいな。
0794名無しさん@お腹いっぱい。
2015/11/25(水) 10:44:48.47ちゃんと動くかは知らないし文句言われ様が短くもしないし直さない以上。
cat csv |xargs -i printf '%s\0' {} \
|sed -n 's#"[^"]*[^\],*"#&\n#; :start; s#\(".*[^\]\),\(.*"\n\)#\1\\,\2#;
t start; P; D' \
|sed ':start; N; $!b start; s#["|\n]##g'|xargs --null -i echo {}
cat csv |xargs -i printf '%s\0' {} \
|sed -n 's#"[^"]*[^\],*"#&\n#; :start; s#\(".*[^\]\),\(.*"\n\)#\1\\,\2#;
t start; P; D' \
|sed ':start; N; $!b start; s#["|\n]##g'|xargs --null -i echo {} \
|sed 's#\([^\]\),#\1\t#g'|tr -d '\\'|awk -F '\t' '{ print $0 }'
■ このスレッドは過去ログ倉庫に格納されています