连接文本文件的两列

Arc*_*ton 5 awk text gawk

我有一个 tsv 文件,例如

1   2   3   4   5   ...
a   b   c   d   e   ...
x   y   z   j   k   ...
Run Code Online (Sandbox Code Playgroud)

如何合并两个连续的列,例如第二列和第三列,以获得

1   2-3   4   5   ...
a   b-c   d   e   ...
x   y-z   j   k   ...
Run Code Online (Sandbox Code Playgroud)

我需要代码来处理具有不同列数的文本文件,所以我不能使用类似的东西awk 'BEGIN{FS="\t"} {print $1"\t"$2"-"$3"\t"$4"\t"$5}' file

awk是我为该任务考虑的第一个工具,也是我正在尝试学习的工具,因此我对使用它的答案非常感兴趣,但任何使用任何其他工具的解决方案将不胜感激。

Rom*_*est 6

使用tsvsed文件的简单命令:

sed 's/\t/-/2' file
Run Code Online (Sandbox Code Playgroud)

输出:

1   2-3 4   5   ...
a   b-c d   e   ...
x   y-z j   k   ...
Run Code Online (Sandbox Code Playgroud)