linux - 翻转 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
解决方案
一种解决方案,注意评论:
命令
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
推荐阅读
- r - “包”的长度必须为 1:HTML 小部件错误
- javascript - React Fragments 破坏样式
- codenameone - 将 Codename One 应用程序用于带有电视遥控器的电视盒
- python - 如何旋转 seaborn 线图
- java - 多角色安全配置 Spring MVC + Thymeleaf
- pact - 使用 pact-stub-server 在 api 路径上添加术语匹配器时响应为 404
- c++ - std::is_member_function_pointer 不适用于 noexcept 成员函数
- javascript - 给定元素的特定索引,如何替换数组中的元素?
- android - Kotlin:如何将子数组减少为单个数组?
- reactjs - 根据表格内容动态设置列宽