我读了很多文章在stackoverflow,但我仍然无法做sorting。
情况是这样的:
我有一个没有标题的9列的csv文件,如下所示:
D,0000001,2016/01/01 01:00,111,0.000,0000008,10.000,NET,Computer B,0000002,2016/01/01 01:30,Computer C,0000003,2016/01/01 02:00,121,ORG,Computer E,COM,Computer
我想要的输出是2(000001),6(0000008),8(NET)列的顺序,并输出到新的csv文件,如下所示:
在windows 10命令行中启用git
如何使用命令提示符更新不可变的Js新版本..?
在windows中的Swipl prolog清除屏幕
如何复制/剪切文件(而不是内容)到命令行中的windows剪贴板?
使用EXIF增加序列号
C,Computer D,Computer
我已经尝试了这样的代码,但不工作:
@echo off setlocal for /F "tokens=1-9 delims=," %%a in (input.csv) do set a[%%b,%%a,%%c,%%d,%%e,%%f,%%g,%%h,%%i] =%% for /F "tokens=2-10 delims=[,]=" %%a in ('set a[') do echo %%b,%%i
有人可以帮助我吗? 我是input命令脚本的新手。
如何使用RHS上的cygwin sed使用windows set命令
单行使用windowsbatch file的多个命令
如何按照用户input指定的次数运行一个命令?
有没有在批处理脚本的方式保持控制台打开只有从windowspipe理器调用?
如何使用windows命令行search文件,然后用位置创build文本文档?
你的方法很好。 只是字段值的顺序不正确设置为获得所需的输出排序顺序。
@echo off if not exist input.csv goto :EOF setlocal for /F "tokens=1-9 delims=," %%a in (input.csv) do set "a[%%b,%%i]=%%" del input.csv for /F "tokens=2-10 delims=[,]=" %%a in ('set a[') do echo %%d,%%b,%%i>>input.csv endlocal
这里创建的环境变量是%%b,%%i而不是%%b,%%i当然也需要%%d,%%i输出。
你几乎拥有它:
@echo off setlocal for /F "tokens=1-9 delims=," %%a in (input.csv) do set "a[%%b%%f%%h]=%%a,%%i" for /F "tokens=2 delims==" %%a in ('set a[') do echo %%a
但是,显示的结果并不像您在问题中所述的那样排序。 如果你想要%%f字段的%%f ,你可以使用这个:
@echo off setlocal EnableDelayedExpansion for /F "tokens=1-9 delims=," %%a in (input.csv) do ( set /A "invF=100000000-1%%f" set "a[%%b!invF!%%h]=%%a,%%i" ) for /F "tokens=2 delims==" %%a in ('set a[') do echo %%a
总结以上是内存溢出为你收集整理的使用命令将csv文件按三列sorting?全部内容,希望文章能够帮你解决使用命令将csv文件按三列sorting?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)