标题: [文本处理] 如何快速的删除指定的多个列 [打印本页]
作者: NETPC99 时间: 2017-4-11 23:21 标题: 如何快速的删除指定的多个列
本帖最后由 pcl_test 于 2017-4-11 23:29 编辑
SCE245,D9137019969,000008017319,00000000000019,C00-138-04+A,夹箍,480270,1
SCFEFEGA,D9137019969,000008017319,00000000000019,GB/T901-M10*120,等长双头螺柱,480270,1
DT085412,D9137019969,000008017319,00000000000019,C00-143-54+B,支架,480270,1
DSEFFES,D9137019969,000008017319,00000000000019,C00-187-02+A,垫块,480250,4
上面的4行文本 每行8列 中间都是用逗号隔开 如何才能删除第二列 第三列 和第四列 还有最后2列
我的数据库有大概几千万条数据 如何才能用最快的速度删除指定的列 求教
作者: taofan712 时间: 2017-4-11 23:39
- @echo off
- (for /f "tokens=1-8 delims=," %%a in (a.txt) do (
- echo;%%a,%%e,%%f
- ))>a_.TXT
复制代码
几千万行,估计不行。
作者: pcl_test 时间: 2017-4-12 00:09
用数据库删要多久??
第三方
http://www.bathome.net/s/tool/index.html?key=gawk- gawk -F"," "{print $1\",\"$5\",\"$6}" "a.txt">"b.txt"&pause
复制代码
作者: codegay 时间: 2017-4-12 00:15
数据里操作不就是一行SQL?
作者: dingcool 时间: 2017-4-12 17:33
其实bat在自动脚本面前 真的弱点太多了
作者: /zhqsystem/zhq 时间: 2017-4-12 19:38
- cd /d "%~dp0"
- for /f "delims=" %%i in ('dir/a-d/s/b "%~dp0*.txt"')do (
- (call:file "%%~fi")>"%%~fi_new%%~xi"
- )
- pause
- goto:eof
- :file
- for /f "delims=" %%i in ('type "%~f1"')do (
- set "_="&&set "#=%%i"&&set "n=0"&&call:data
- for /l %%n in (2,1,!o!)do if defined $%%n set "_=!_!!$%%n!"
- echo,!_:~0,-1!
- set "#=%%i"&&set "m=0"&&call:data_delete
- )
- goto:eof
- :data
- if not defined # goto:eof
- set/a "n+=1"
- for /f "tokens=1,* delims=," %%y in ("!#!")do set "$%n%=%%y,"&&set "#=%%z"
- rem:过滤行
- set "_=%$1%"
- set/a "o=%n%-2"
- set "$2=,"
- set "$3=,"
- set "$4=,"
- goto:data
- :data_delete
- if not defined # goto:eof
- set/a "m+=1"
- for /f "tokens=1,* delims=," %%y in ("!#!")do set "$%m%="&&set "#=%%z"
- goto:data_delete
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |