我正在尝试对文件进行排序,并将输出存储到tmp文件中。这是我的文件的样子:

this_is_my_file(无扩展名)

Names   Last_Name_Initial
---
Alex   G
Nick   D
Jon   J
Cain   V
Anderson   S
Chris   W

我知道排序文件的命令是sort -n $PWD/this_is_my_file -o tmp,但是如何在---之后开始排序?还有一个后续问题,如果要比较的文件没有扩展名,如何区分文本或xml文件?

最佳答案

您可以使用:

head -n 2 file && tail -n +3 file | sort
Names   Last_Name_Initial
---
Alex   G
Anderson   S
Cain   V
Chris   W
Jon   J
Nick   D

它的工作如下:
  • 使用head -n 2获取前2个标题行
  • 使用tail -n +3获取从第三行
  • 开始的所有行
  • tail传递sort的输出
  • 使用tail+sort&&合并头部的输出

  • 重定向输出,您可以在shell {...}中使用分组
    { head -n 2 file && tail -n +3 file | sort; } > output
    

    10-07 20:01
    查看更多