如果我必须根据'='左边的值对以下行进行排序.但是排序应该在"="之后将选择扩展到列.Thtz是我们必须在'='之后对列进行排序::
50599=1000000
50454=00000054
50080=00005464
50098=00000875
50661=00000665
50788=10000035
50988=10000006
50994=10000656
57009=00000005
57022=10000008
57040=10000005
57000=10000005
57060=10000089
57067=10005640
57102=00000765
57190=00000867
Run Code Online (Sandbox Code Playgroud)
这需要在'VI'编辑文件中完成.
结果应该是::
50080=00005464
50098=00000875 ...etc.
Run Code Online (Sandbox Code Playgroud)
eum*_*iro 27
尝试:
:%!sort
Run Code Online (Sandbox Code Playgroud)
它将按字母顺序按整行排序.如果要按数字排序(即第一列中的数字可以有不同的widt),请尝试:
:%!sort -n
Run Code Online (Sandbox Code Playgroud)
不用担心=,它不会修改任何一行,它只会改变它们的顺序.
您可以执行以下操作以查看已排序的输出:
:!sort %
Run Code Online (Sandbox Code Playgroud)
说明:
: :进入ex模式.! :允许您运行shell命令.% :当前打开的文件的名称.要通过更改文件对文件进行排序,可以将其输出重定向到临时文件,然后将其内容复制回原始文件:
:!(sort %>/tmp/tmp;cp -f /tmp/tmp %)
Run Code Online (Sandbox Code Playgroud)