gpt4 book ai didi

Unix - 第 9 个逗号后分割线

转载 作者:行者123 更新时间:2023-12-03 07:33:34 25 4
gpt4 key购买 nike

我编写了一个 ksh shell 脚本,并且有很长的逗号分隔字符串,仅在第 9 个逗号之后才需要将其分成单独的行。在第 9 个逗号之后,我想删除该逗号并创建一个新行:

例如:初始字符串1,2,3,4,5,6,7,8,9,10,11,12,13,14,14,15,16,17,18,19,20,21

输出:

1,2,3,4,5,6,7,8,9,10
11,12,13,14,14,15,16,17,18,19,20
21

我知道 awk 可以做到这一点,但我对命令不太熟悉。有人可以提供如何做到这一点

谢谢

最佳答案

cat t.txt | xargs -d, -rn10 | sed 's/ /,/g'

注意:为了清楚起见,没有使用 cat:这可以是任何进程

根据您的实际需要,删除sed步骤并获取输出空间分隔

奖励积分:

输入(t.txt)

1,2,3,4,5,6,7,8,9,10,11,12,13,14,14,15,16,17,18,19,20,21
22,23
24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50

输出

1,2,3,4,5,6,7,8,9,10
11,12,13,14,14,15,16,17,18,19
20,21
22,23
24,25,26,27,28,29,30,31
32,33,34,35,36,37,38,39,40,41
42,43,44,45,46,47,48,49,50

如果您想要均匀的线条填充,请添加粘贴:

paste -sd, t.txt| xargs -d, -n10 | sed 's/ /,/g'

1,2,3,4,5,6,7,8,9,10
11,12,13,14,14,15,16,17,18,19
20,21,22,23,24,25,26,27,28,29
30,31,32,33,34,35,36,37,38,39
40,41,42,43,44,45,46,47,48,49
50

关于Unix - 第 9 个逗号后分割线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6708587/

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