【发布时间】:2017-12-12 05:14:15
【问题描述】:
是否可以在给定行中的某些字符串的情况下使用 sed 切换 bash 中行的位置?
例如:
我有台词
2. diskusage1: 27.0572519084
3. partition1:
它们都作为 bash 命令的一部分输出到文本文件。
有没有办法颠倒这些行的顺序?让他们换个地方看起来像这样:
3. partition1:
2. diskusage1: 27.0572519084
谢谢
【问题讨论】:
-
是的,将产生输出的任何内容的输出通过管道传输到
tac(反向为cat),例如some_command | tac。如果需要逆向写入文件,则some_command | tac > file.txt示例:printf "2. diskusage1: 27.0572519084\n3. partition1:\n" | tac -
如果你必须使用
sed,那么some_command | sed -n '1!G;h;$p' -
要切换到任意行,请查看this question
标签: bash text sed text-processing