是否可以在 MacOS 中将一行字符串文本分隔为多行

Is it possible to separate one line string text into multi-line in MacOS

我是命令新手,我有以下一行字符串片段

是否可以像下面这样显示语法输出

我尝试使用 cut -d',' -f 6,12,...... ,但是如果我有 100000 个或更多片段,我该如何解决这个问题?

您可以尝试使用 awk。以下将把输入分成 6 个以逗号分隔的列的块:

awk -F, '{for(i=1; i<NF; i+=6){for(j=0; j<5; j++) { printf "%s,", $(i+j) } print $(i+5) } }'

说明

  • -F, 使用逗号作为输入字段(即列)分隔符
  • for(i=1; i<NF; i+=6) { 步过列,一次 6 步
  • for(j=0; j<5; j++) { 遍历 6
  • 集合中的前 5 列
  • printf "%s,", $(i+j) 打印第 i+j 列后跟一个逗号(没有换行符)
  • print $(i+5) 打印最后(第 6 列)后跟换行符