Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File 按文件中的列进行批排序_File_Sorting_Batch File - Fatal编程技术网

File 按文件中的列进行批排序

File 按文件中的列进行批排序,file,sorting,batch-file,File,Sorting,Batch File,我想知道是否有可能按列对文本文件进行排序。比如说 我有aux1.txt这样的行 Name SecondName Grade 在shell中,我可以做到这一点 sort -r -k 3 aux1 它按第三列(等级)对文件进行排序 成批 sort /+3 < aux1.txt sort/+3

我想知道是否有可能按列对文本文件进行排序。比如说

我有
aux1.txt
这样的行

Name SecondName Grade
在shell中,我可以做到这一点

sort -r -k 3 aux1  
它按第三列(等级)对文件进行排序

成批

sort /+3 < aux1.txt
sort/+3
将文件排序在第三个字母之后

我阅读了批处理的排序手册,但没有结果。

您可以使用批处理文件编写自己的排序包装器

您只需将列重新排序到临时文件中,
把它分类,然后把它订回来。(几乎显而易见)


虽然我很喜欢杰布的答案,但我一直在用克里斯·拉洛萨的答案 多年来


您可以对多个列进行排序,通过他的另一个工具(或任何其他CL工具)进行管道传输。有点老了……

对您来说可能太晚了,但作为一般建议,您可以比创建临时文件简单得多。只需通过管道进行分类:

for /f "tokens=1-3" %%a in ('(for /f "tokens=1-3" %%x in (aux1.txt^) do @echo %%z %%x %%y^)^|sort') do echo %%b %%c %%a
请注意,这是一个命令,只需在命令提示符下键入即可使用,而无需任何批处理文件(当然,必须为此减少%%)

for /f "tokens=1-3" %%a in ('(for /f "tokens=1-3" %%x in (aux1.txt^) do @echo %%z %%x %%y^)^|sort') do echo %%b %%c %%a