系统相关
首页 > 系统相关> > linux – 对制表符分隔文件进行排序

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'

什么是正确的方法呢?

这是sample data.

解决方法:

使用bash,这将解决这个问题:

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

注意单引号字符串前面的美元符号.你可以阅读
它在ANSI-C Quoting sections of the bash man page.

标签:sorting,linux,unix,tab-delimited
来源: https://codeday.me/bug/20190917/1808972.html