首页 > 解决方案 > 翻转 YAML 文件内容,使最新的行位于顶部

问题描述

我有一个包含数千行文本的 YAML 文件,我希望添加的最新行显示在文件的最顶部,最旧的内容显示在文件的最底部,这样当我打开该文件我不必向下滚动 5 分钟即可到达底部以读取新内容。

#current structure        #desired structure
1: oldest line            4: newest line
2: old line               3: new line 
3: new line               2: old line
4: newest line            1: oldest line

标签: linuxyaml

解决方案


一种解决方案,注意评论:

 命令

head -1 file; awk 'NR>1' file | sort -nr

 输出

#current structure
4: newest line
3: new line       
2: old line       
1: oldest line 

 最后覆盖文件

head -1 file; awk 'NR>1' file | sort -nr | tee file

(适用于小文件。)

对于大文件:

 head -1 file; awk 'NR>1' file | sort -nr > temp$$
 mv temp$$ file

推荐阅读