Vig*_*esh 19 linux sorting bash shell
我试图根据第四列对此文件进行排序.我希望文件根据第四列的值重新排序.
文件:
2 1:103496792:A 0 103496792
3 1:103544434:A 0 103544434
4 1:103548497:A 0 103548497
1 1:10363487:T 0 10363487
Run Code Online (Sandbox Code Playgroud)
我希望它像这样排序:
1 1:10363487:T 0 10363487
2 1:103496792:A 0 103496792
3 1:103544434:A 0 103544434
4 1:103548497:A 0 103548497
Run Code Online (Sandbox Code Playgroud)
我试过这个命令:
sort -t$'\t' -k1,1 -k2,2 -k3,3 -k 4,4 <filename>
Run Code Online (Sandbox Code Playgroud)
但我得到非法变量名称错误.有人可以帮我这个吗?
Joh*_*ica 47
要对第四列进行排序,只使用-k 4,4选择器.
sort -t $'\t' -k 4,4 <filename>
Run Code Online (Sandbox Code Playgroud)
您可能还想要-V更自然地对数字进行排序.例如,屈服1 2 10而不是1 10 2(词典顺序).
sort -t $'\t' -k 4,4 -V <filename>
Run Code Online (Sandbox Code Playgroud)
如果你遇到错误,$'\t'那么确保你的shell是bash.也许你错过#!/bin/bash了脚本的顶部?