使用cat对文本文件进行排序并对其进行排序

时间:2015-12-06 20:05:28

标签: shell command-line terminal cat

我有一个txt文件,其中一些内容看起来像

 movieId   | Genre 
 -------------------------------
 tt0111161 | Drama,Crime 
 tt0468569 | Action,Drama,Crime
 tt0021331 |
 tt1853728 | Western

我希望使用cat和sort来按日期将它们按照命令行的输出顺序排列。

1 个答案:

答案 0 :(得分:1)

不确定为什么你认为你需要cat一个文件进行排序,但这里有2个选项

  cat yourFile | sort -t, -k3r

  sort -t, -k3r yourFile 

为了测试这个,我做了

echo "stuff,stuff,2012-12-12
morestuff,morestuff,2012-09-09
evenmorestuff,yeah,2012-08-02" \
| sort -t, -k3r

<强>输出

stuff,stuff,2012-12-12
morestuff,morestuff,2012-09-09
evenmorestuff,yeah,2012-08-02

最后,您可以使用-o选项覆盖现有文件,例如

 sort -t, -o yourFile -k3r yourFile

感谢@karakfa提醒我您对逆序排序的要求。这是通过向密钥规范添加r来实现的,因此-k3r

IHTH