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行不对,或者我没看懂交换规则。
大家好,我尝试搜索并寻找任何提示,但没有找到如何实现在多列中交换任何带有前缀 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行不对,或者我没看懂交换规则。