gpt4 book ai didi

java - 对记录进行排序但在 Linux 和 Java 中将标题保持在顶部

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:48:04 25 4
gpt4 key购买 nike

我需要按第一列的数字对文件中的记录进行排序,但我需要标题保留在文件的顶部。我正在使用 Java 的 Process Builder,但我不熟悉 Linux 命令,所以我做错了什么。这是我需要帮助的:

Process sort = new ProcessBuilder("/bin/bash", "-c", "((head -n -1 "     +main_file+ " | tail -n -1) | sort -n) >> " + main_file).start();

最佳答案

你不需要java来执行shell和执行任务,直接在shell上运行命令。

见下文

$ cat delitLater.txt
A 1
B 2
C 3
A 4
B 5
C 6
$ awk 'NR==1; NR > 1 {print $0 | "sort -n -k 1,1"}' delitLater.txt
A 1
A 4
B 2
B 5
C 3
C 6
$ awk 'NR==1; NR > 1 {print $0 | "sort -n -k 2,2"}' delitLater.txt
A 1
B 2
C 3
A 4
B 5
C 6

使用 awk ,您按原样打印第一行。这是使用 NR(Rownumber) == 1 完成的。对于所有其他行,您使用排序命令并指定要使用的列。排序键由“-k”选项定义。 “-n”表示数字排序,但您可能需要也可能不需要它,具体取决于文件的内容。

关于java - 对记录进行排序但在 Linux 和 Java 中将标题保持在顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39480232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com