sed 交换任何带有列前缀的字符串

sed swap any string with prefix from columns

大家好,我尝试搜索并寻找任何提示,但没有找到如何实现在多列中交换任何带有前缀 A_ 的匹配字符串以放入第 4 列 [在此处输入图片描述][1]

下面是指导我的,但在多次尝试使用正则表达式后我卡住了

sed 's/(unix) (linux)/ /' textfile linux unix os windows mac os

谢谢

来自

7      VAL  Z_SPLITIATO       A_DDDEW       84_SLA  841_SLON1   840_H1_S  
4      VAL  Z_SPLS_H5_C       SPIT_OAI      HD_CLA  A_AFASD
4      VAL  Z_SPLS_H6_C       SPIT_OAI      HD_CLA              A_ADFEEE
4      VAL  Z_SPLS_H7_C       HDS_H7OAISVC  A_SSEEWR
7      VAL  Z_SPLITIATO       SPL_N4_P1     A_EEEA  84SLOSA     IOOWWW  840_H1_SL

收件人:

7      VAL  Z_SPLITIATO       A_DDDEW       84_SLA    841_SLON1   840_H1_S  IOOWWW
4      VAL  Z_SPLS_H5_C       A_AFASD       SPIT_OAI  HD_CLA
4      VAL  Z_SPLS_H6_C       A_ADFEEE      SPIT_OAI  A_ADFEEE
4      VAL  Z_SPLS_H7_C       A_SSEEWR      HDS_H7OAIS 
7      VAL  Z_SPLITIATO       A_EEEA        SPL_N4_P1  84SLOSA     IOOWWW  840_H1_SL

Value / Word with "A_" is placed randomly in multiple columns , number of columns is 20 so i placed here just few of them

awk 救援!

$  awk '{for(i=4;i<=NF;i++) 
           if($i~/^A_/) 
             {t=$i;$i=;=t; break}}1' file | 
   column -t 

会给

7  VAL  Z_SPLITIATO  A_DDDEW   84_SLA        841_SLON1  840_H1_S
4  VAL  Z_SPLS_H5_C  A_AFASD   HD_CLA        SPIT_OAI
4  VAL  Z_SPLS_H6_C  A_ADFEEE  HD_CLA        SPIT_OAI
4  VAL  Z_SPLS_H7_C  A_SSEEWR  HDS_H7OAISVC
7  VAL  Z_SPLITIATO  A_EEEA    SPL_N4_P1     84SLOSA    IOOWWW    840_H1_SL

我觉得你的第3行不对,或者我没看懂交换规则。