gpt4 book ai didi

regex - 如何使用 sed/awk 切换/旋转每两行?

转载 作者:行者123 更新时间:2023-12-04 00:06:12 25 4
gpt4 key购买 nike

我一直在手工做这件事,但我再也做不到了——我有成千上万行,我认为这是 sed 或 awk 的工作。

本质上,我们有一个这样的文件:

A sentence X
A matching sentence Y
A sentence Z
A matching sentence N

这种模式在整个文件中继续。我想翻转每个句子和匹配的句子,这样整个文件最终会像:
A matching sentence Y
A sentence X
A matching sentence N
A sentence Z

有小费吗?

编辑:扩展初始问题

Dimitre Radoulov 为最初的问题提供了很好的答案。这是主要问题的扩展——更多细节:

假设我们有一个有组织的文件(由于 Dimitre 给出的 sed 行,文件是有组织的)。但是,现在我想按字母顺序组织文件,但只使用第二行的语言(英语)。
watashi 
me
annyonghaseyo
hello
dobroye utro!
Good morning!

我想通过英文句子(每第二个句子)按字母顺序组织。鉴于上述输入,这应该是输出:
dobroye utro!
Good morning!
annyonghaseyo
hello
watashi
me

最佳答案

对于问题的第一部分,这里是一种在 sed 中不使用正则表达式而相互交换每一行的方法:

sed -n 'h;n;p;g;p'
-n命令行禁止自动打印。命令 h puts 将当前行从模式空间复制到保持空间, n读入模式空间的下一行和 p打印出来; g将第一行从保持空间复制回模式空间,将第一行带回模式空间,然后 p打印它。

关于regex - 如何使用 sed/awk 切换/旋转每两行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6818284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com