gpt4 book ai didi

linux - 递归加入 N 行

转载 作者:IT王子 更新时间:2023-10-29 00:47:53 25 4
gpt4 key购买 nike

如何在 shell 脚本中实现以下结果?

This is line 1  
This is line 2
This is line 3
This is line 4
This is line 5
This is line 6
This is line 7
This is line 8
This is line 9
...
...

期望的输出:

This is line 1 This is line 2 This is line 3  
This is line 4 This is line 5 This is line 6
This is line 7 This is line 8 This is line 9
... ... ....
... ... ...

最佳答案

awk 是你的 friend :

$ awk 'ORS=NR%3?FS:RS' file
This is line 1 This is line 2 This is line 3
This is line 4 This is line 5 This is line 6
This is line 7 This is line 8 This is line 9

这与:

$ awk 'ORS=NR%3 ? " " : "\n"' file
This is line 1 This is line 2 This is line 3
This is line 4 This is line 5 This is line 6
This is line 7 This is line 8 This is line 9

说明

如果记录数不是3的倍数,则设置输出记录分隔符为空格;否则,作为新行。

  • ORS 定义输出记录分隔符。
  • NR 定义记录数(在本例中为行数)。
  • FS 定义字段分隔符。默认为 ""(空格)。
  • RS 定义记录分隔符。默认为 "\n"(新行)。

更多信息和相关示例在 Idiomatic awk 中.

关于linux - 递归加入 N 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23780634/

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