以逗号分隔打印列范围,其余列不以逗号分隔

DaW*_*444 4 awk text-processing

我正在努力解决这个问题。

awk '{print $1","$10","$11","$12","$13,$14,$15,$16,$17,$18,$19}' <<< "$PASTE_1" > test.csv
Run Code Online (Sandbox Code Playgroud)

我需要打印以逗号分隔的 $1 $10 $11 $12 然后继续 $13 直到行结束,没有逗号分隔。因为从 $13 起有很多空格。

ilk*_*chu 7

你的意思是这样的:

awk '{a = ""; for (i = 13 ; i <= NF ; i++) a = a $i; 
       print $1 "," $10 "," $11 "," $12 "," a}'
Run Code Online (Sandbox Code Playgroud)

输入

a b c d e f g h i j k l m n o p q r s t u v w x y z
Run Code Online (Sandbox Code Playgroud)

给出:

a,j,k,l,mnopqrstuvwxyz
Run Code Online (Sandbox Code Playgroud)

即从13开始的字段连接在一起,然后在1、10、11、12之后打印。