我想合并第 1 列和第 2 列,并将它们添加为数据框中的新列。然后我想打印所有旧列和新创建的列。我可以使用下面的脚本组合列,但不确定如何打印所有列,而不仅仅是组合的列:
awk ' { print $1 $2 "_" $NF } ' input_file
Run Code Online (Sandbox Code Playgroud)
在
c1 c2 c3
12 1 12
4 4 57
Run Code Online (Sandbox Code Playgroud)
出去
c1 c2 c3 c4
12 1 12 12_1
4 4 57 4_4
Run Code Online (Sandbox Code Playgroud)
如果你想打印_字段 1 和 2 之间的内容,那么第一个输出将c1 c2 c3 c1_c2是c1 c2 c3 c4
您可以在末尾添加一个值为$1和 的列$2,然后打印整行:
awk ' { $(NF+1) = $1"_"$2 }1' input_file
Run Code Online (Sandbox Code Playgroud)
输出
c1 c2 c3 c1_c2
12 1 12 12_1
4 4 57 4_4
Run Code Online (Sandbox Code Playgroud)
或者您可以打印整行,然后打印字段$1和$2
awk '{print $0, $1"_"$2}' input_file
Run Code Online (Sandbox Code Playgroud)
输出
c1 c2 c3 c1_c2
12 1 12 12_1
4 4 57 4_4
Run Code Online (Sandbox Code Playgroud)