在每个部分的标题中按(DOW MON DD YY)日期对文件进行分类

Uni*_*945 3 linux sorting uniq

我有一个重复条目的文件.Entry条目以date开头,空白行分隔这两个条目.如何使用sort命令或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
Run Code Online (Sandbox Code Playgroud)

我使用了sort命令:

sort -n -t" " -k5 -k3M -k4
Run Code Online (Sandbox Code Playgroud)

但它没有捕获日期后的行,我需要排序日期+ contentforthatdate.

tin*_*ink 5

基于@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
Run Code Online (Sandbox Code Playgroud)