小编典典

排序制表符分隔的文件

linux

我有以下格式的数据:

foo<tab>1.00<space>1.33<space>2.00<tab>3

现在,我尝试根据最后一个字段对文件进行递减排序。我尝试了以下命令,但是没有按照我们的预期排序。

$ sort -k3nr file.txt  # apparently this sort by space as delimiter

$ sort -t"\t" -k3nr file.txt
  sort: multi-character tab `\\t'

$ sort -t "`/bin/echo '\t'`" -k3,3nr file.txt
  sort: multi-character tab `\\t'

什么是正确的方法?

这是样本数据


阅读 346

收藏
2020-06-02

共1个答案

小编典典

使用 bash ,可以达到目的:

$ sort -t$'\t' -k3 -nr file.txt

注意单引号字符串前面的美元符号。您可以bash
手册页
ANSI-
C报价部分中
阅读有关它的内容

2020-06-02