linux - 在每个部分的标题中按 (DOW MON DD YY) 日期对分成多个部分的文件进行排序

标签 linux sorting uniq

我有一个包含重复条目的文件。条目条目以日期开头,一个空行将这两个条目分隔开。如何使用排序命令或 uniq 命令对日期进行排序:

* Mon Jan 29 2001 Bernhard Rosenkraenzer <bero@mail.com>
- Some fixes to init scripts

* Wed Jan 17 2001 Bernhard Rosenkraenzer <bero@mail.com>
- Add missing man pages, fix up init script (Bug #17676)
- Can be patched in for future release.


* Thu Feb 1 2001 Trond Eivind Glomsrød <teg@mail.com>
- Fix check for ipchains

我使用了这样的排序命令:

sort -n -t" " -k5 -k3M -k4

但它没有捕获日期之后的行,我需要对日期+contentforthatdate 进行排序。

最佳答案

根据@jchevali 的评论 - 只需要找到一个 awk 和 tr 都可以优雅地处理的可打印字符,该字符不在要处理的文本中:

awk '/^*/{printf "%s ^",$0} /^-/{printf "%s ^",$0} /^[ \t]*$/{printf "\n"}' paras | sort -n -t" " -k5 -k3M -k4  | tr '^' '\n'

* Wed Jan 17 2001 Bernhard Rosenkraenzer <bero@mail.com> 
- Add missing man pages, fix up init script (Bug #17676) 
- Can be patched in for future release. 

* Mon Jan 29 2001 Bernhard Rosenkraenzer <bero@mail.com> 
- Some fixes to init scripts 

* Thu Feb 1 2001 Trond Eivind Glomsrød <teg@mail.com> 
- Fix check for ipchains

关于linux - 在每个部分的标题中按 (DOW MON DD YY) 日期对分成多个部分的文件进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53771171/

相关文章:

python - 名称错误 : name 'freenect' is not defined

Spring Data JPA 对嵌套集合进行排序

bash - 更改 `uniq -c` 输出中的列顺序

perl - Perl 中不区分大小写的唯一数组元素

linux - linux中的mount系统调用无法通过df命令显示文件系统的挂载点

linux - 如何编写 git 命令来分离历史文件?

Linux - 如何从程序脚本中查看日志文件?

arrays - 算法 - 检测小数组中重复数字的最佳算法是什么?

java - 按字典顺序对 int 数组进行排序

linux - 映射查询字符串参数出现