我正在尝试根据第四列对该文件进行排序。我希望根据第四列的值对文件重新排序。
文件:
2 1:103496792:A 0 103496792 3 1:103544434:A 0 103544434 4 1:103548497:A 0 103548497 1 1:10363487:T 0 10363487
我想要这样排序:
1 1:10363487:T 0 10363487 2 1:103496792:A 0 103496792 3 1:103544434:A 0 103544434 4 1:103548497:A 0 103548497
我尝试了以下命令:
sort -t$'\t' -k1,1 -k2,2 -k3,3 -k 4,4 <filename>
但是我得到了非法的变量名错误。有人可以帮我吗?
要对第四列进行排序,请仅使用-k 4,4选择器。
-k 4,4
sort -t $'\t' -k 4,4 <filename>
您可能还想-V更自然地对数字排序。例如,屈服1 2 10而不是1 10 2(字典顺序)。
-V
1 2 10
1 10 2
sort -t $'\t' -k 4,4 -V <filename>
如果您收到有关的错误,请$'\t'确保您的外壳是bash。也许您缺少#!/bin/bash脚本的顶部?
$'\t'
#!/bin/bash