awk / sed / etc. 在一个文件中连接列

xi1*_*00f 2 command-line sed awk shell-script

我想知道有什么更简单的方法可以做到这一点:

awk 'NR > 1 {print $1"\t"$2"\t"$3"\t"$4"\t"$5"\t"$6"\t"$7"\t"$8"\t"$9$10$11$12$13$14$15$16}'  file.in > file.out
Run Code Online (Sandbox Code Playgroud)

简单地说就是“通过删除中间的制表符来连接第 9 到 16 列”

合并的第 9-16 列成为“注释”,因此可能包含空格。

截至今天,有 16 列,但如果需要,这可能会增加/减少。最终第 9 列(连接 9-16)成为“注释”字段。

干杯,

Mic*_*hrs 5

paste <(cut -f 1-8 file) <(cut -f9- file | tr -d '\t')
Run Code Online (Sandbox Code Playgroud)