Unix - 第 9 个逗号后分割线
我编写了一个 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 但我对命令不太熟悉。有人可以提供如何做到这一点
谢谢
I writing a ksh shell script and I have long comma separated string that I need to divide into separate lines only after the 9th comma. After the 9th comma, I want to remove that comma and make a new line:
For Example:
Initial String
1,2,3,4,5,6,7,8,9,10,11,12,13,14,14,15,16,17,18,19,20,21
Output:
1,2,3,4,5,6,7,8,9,10
11,12,13,14,14,15,16,17,18,19,20
21
I know this is possible with awk but I am not so familiar with command. Can someone please provide how to do this
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
注意:为清楚起见,无用使用
cat
:这可以是任何进程根据您的实际需要,删除
sed
步骤并获取输出空间分隔奖励点:
输入 (t.txt)
输出
如果您想要均匀的行填充,请添加粘贴:
Note: useless use of
cat
for clarity: this could be any processDepending on your actual need, drop the
sed
step and get the output space delimitedBonus points:
Input (t.txt)
Output
If you want homogeneous line-filling, add paste:
说明:
NF
是字段的数量。$i
是第i
个字段;$
是 Awk 中的运算符,而不是 印记。Explanation:
NF
is the number of fields.$i
is thei
'th field; the$
is an operator in Awk, not a sigil.