当前位置: 首页 > 面试题库 >

根据列排序命令bash对制表符分隔的文件进行排序

东门秦迟
2023-03-14
问题内容

我正在尝试根据第四列对该文件进行排序。我希望根据第四列的值对文件重新排序。

文件:

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选择器。

sort -t $'\t' -k 4,4 <filename>

您可能还想-V更自然地对数字排序。例如,屈服1 2 10而不是1 10 2(字典顺序)。

sort -t $'\t' -k 4,4 -V <filename>

如果您收到有关的错误,请$'\t'确保您的外壳是bash。也许您缺少#!/bin/bash脚本的顶部?



 类似资料:
  • 问题内容: 我有以下格式的数据: 现在,我尝试根据最后一个字段对文件进行递减排序。我尝试了以下命令,但是没有按照我们的预期排序。 什么是正确的方法? 这是样本数据。 问题答案: 使用 bash ,可以达到目的: 注意单引号字符串前面的美元符号。您可以在 bash 手册页 的ANSI- C报价部分中 阅读有关它的内容。

  • 我目前有一个应用程序,可以显示1.5公里半径内附近的医院,它看起来是这样的: 我遇到的麻烦是,我不知道如何根据他们从最低到最高的计算距离来排序卡片。 我创建了一个来存储计算的距离列表,并用对其进行排序。 我如何确保小部件将遵循排序的距离值的顺序?

  • 我有: 我需要根据我做的字母表排列单词。 我目前的方法是使用for cycles。 我已经为这段代码编写了一些基础,但在开始认真的“循环”之前,我想问一下还有什么其他方法。 谢谢 后续更改Java中字符串列表中的特定字符

  • 编辑:对于同样的问题,我尝试编写一个比较器。但它不起作用

  • 问题内容: 我想对以下数据框进行排序: 我想对它进行排序,以便根据列表对LSE列进行重新排序: 当然,其他列也需要相应地重新排序。有没有办法在熊猫里做到这一点? 问题答案: pandas0.15版中对s的改进支持使您可以轻松做到这一点: 如果这只是临时排序,则可能不希望将LSE列保留为a ,但是如果您希望这种排序能够在不同的上下文中使用几次,则是一个很好的解决方案。 在更高版本的,中,已被替换为,

  • 问题内容: 我需要对.flv文件进行数字排序,并且能够使用以下命令执行此操作: 但是有很多文件(数百个),因此无法正确排序。 但是奇怪的是,如果我在不起作用的情况下破坏了该命令。 我可以只使用ls,但文件夹中还有其他文件类型。 到目前为止我尝试过的是: 问题答案: 我会尝试以下代码。适用于我的测试场景: 所述列表上的每个线FLV文件1中,需要在每行开始对第二个字符的第一(且仅一个)字(开始数)。按