小编典典

对制表符分隔的文件进行排序

all

我有以下格式的数据:

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'

正确的方法是什么?

这是样本数据


阅读 61

收藏
2022-07-06

共1个答案

小编典典

使用 bash ,这可以解决问题:

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

注意单引号字符串前面的美元符号。
您可以在bash

手册页的
ANSI-C 引用部分
__
了解它 。

2022-07-06