【问题标题】:Sort a file by the second column [duplicate]按第二列对文件进行排序[重复]
【发布时间】:2014-04-16 21:09:33
【问题描述】:

我正在尝试按每行第二列的字母顺序对文件进行排序,其中包含大写名称。示例文件:

1:JOHN:Morgan:90:24
2:MIKE:Smith:95:11
3:JAYSON:Ty:99:9
4:TYLER:Edward:89:5

这是我的 bash 脚本:

file="/home/here.txt"

while IFS=: read -r f1 f2 f3 f4 f5
do
        tput cup $f1 0 ;echo  "$f2 $f1 $f3 $f4 $f5"
done <"$file"

我来到这里对它们进行排序,但这只会将 f2 的位置与 f1 交换。

【问题讨论】:

    标签: bash shell unix


    【解决方案1】:

    您可以使用它按文件的第二列按字母顺序对文件进行排序:

    file="/home/here.txt"
    sort -t":" -k2 $file; # -t is delimeter and -k is column number to sort
    

    阅读手册页中的 sort 以获取更多信息。

    【讨论】:

    • 非常感谢。我一直在到处寻找这个
    猜你喜欢
    • 2012-06-29
    • 1970-01-01
    • 1970-01-01
    • 2019-01-08
    • 1970-01-01
    • 2016-11-07
    • 1970-01-01
    • 2012-05-28
    • 2021-05-03
    相关资源
    最近更新 更多