awk,打印所有列并使用 substr 添加新列

标签 awk

我有这张 table

USI,Name,2D-3D
RO0001,Patate,2D
RO0002,Haricot,3D
RO0003,Banane,2D
RO0004,Pomme,2D
RO0005,Poire,2D

我想要这个

USI,Name,2D-3D
RO0001,Patate,2D,RO_2D_Patate
RO0002,Haricot,3D,RO_3D_Haricot
RO0003,Banane,2D,RO_2D_Banane
RO0004,Pomme,2D,RO_2D_Pomme
RO0005,Poire,2D,RO_2D_Poire

我设法用 awk 获得构造“RO_2D_Patate”

awk -F "," '{print substr($1,1,2)"_"substr($3,1,2)"_"$2}' Test4.txt

但我想打印之前所有的 $0 列作为我的第二个表。

我尝试了所有方法,但我还是个新手!!!!

那边有什么想法吗?

最佳答案

awk -F, '{print $0 (NR>1 ? FS substr($1,1,2)"_"$3"_"$2 : "")}' Test4.txt

关于awk,打印所有列并使用 substr 添加新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45310758/

相关文章:

regex - sed/grep/awk? : append matching pattern to end of line

python - Python 子进程中的特殊字符问题

bash - 如何在 bash 中获取多个参数并将它们传递给 awk?

perl - 删除数据集中的空行

awk - 在 awk 中赋值前的变量评估

linux - 带有 If 条件的 AWK

awk - 在 AWK(或 GAWK)中,如何确定第 n 个单词从哪里开始?

html - 从 Markdown 文件中删除 HTML 注释

shell - awk 语法 — 什么是 OFS?为什么末尾有 1?

awk - 如何将文本文件中的特定单元格左移