我有一个名为data的文件,其内容是
id,col1,col2
0,-0.3479417882673812,0.5664382596767175
1,-0.26800930980980764,0.2952025161991604
2,-0.4159790791116641,-1.3375045524610152
3,-0.7859665489205871,-0.6428101880909471
4,-1.3922759043388822,-1.676262144826317
5,-1.2471867496427498,-0.4912119581361516
6,1.443385383041667,1.6974039491263593
7,-2.058899802821969,2.0607628464079917
8,-0.10641338441541626,0.035929568275064216
9,-0.517273684861199,-0.6184800988804992
10,-0.9934859021679552,1.0577312348984502
11,0.5923834706792905,-0.6693757541250825
12,0.8657741917554445,-0.6876271057571398
13,-1.2061097548360489,-0.7402582563022937
14,0.78768021182158,-0.38607117005262315
Run Code Online (Sandbox Code Playgroud)
-n在第一列上按数字 ( )排序给出
$ sort -nk1 -t"," data
0,-0.3479417882673812,0.5664382596767175
id,col1,col2
1,-0.26800930980980764,0.2952025161991604
2,-0.4159790791116641,-1.3375045524610152
3,-0.7859665489205871,-0.6428101880909471
4,-1.3922759043388822,-1.676262144826317
5,-1.2471867496427498,-0.4912119581361516
7,-2.058899802821969,2.0607628464079917
8,-0.10641338441541626,0.035929568275064216
9,-0.517273684861199,-0.6184800988804992
10,-0.9934859021679552,1.0577312348984502
13,-1.2061097548360489,-0.7402582563022937
6,1.443385383041667,1.6974039491263593
11,0.5923834706792905,-0.6693757541250825
12,0.8657741917554445,-0.6876271057571398
14,0.78768021182158,-0.38607117005262315
Run Code Online (Sandbox Code Playgroud)
这对我来说绝对奇怪。我在-n应该是数字排序的手册页中读到了。为什么id要放在数字之间?它是如何,10大于9,但比小6,而同时11大于它们呢?
的-g,因为我想,似乎工作(和我认为是自然的),但是这个-n选项完全脱离了我。这是关于什么的?我认为它可能与语言环境有关,但是一旦我将分隔符指定为 is ,,我认为这无法解释它。
如何使用diff比较两个命令的输出?
我知道如何使用它来比较文件的内容filename1与命令的输出cmd2:
cmd | diff filename -
Run Code Online (Sandbox Code Playgroud)
我该如何做到这一点,以便我可以有另一个命令,例如cmd1代替filename?
我使用的是 dash,它不支持进程替换。