看到群里的写的脚本做个记录

要求:cat file
#({1,2,3,4,5},{}) #({1,2,4,5},{a})|#({1,3,4},{b})|#({2,3},{c}) #({2},{a,c})|#({3},{b,c}) #({1,4},{a,b,d}) #({},{a,b,c,d})

文件file里,每个#号前加数字,实现效果:

1#({1,2,3,4,5},{}) 2#({1,2,4,5},{a})|3#({1,3,4},{b})|4#({2,3},{c}) 5#({2},{a,c})|6#({3},{b,c}) 7#({1,4},{a,b,d})

实现方法:

1. awk 'BEGIN{FS="#"}{for(i=2;i<NF;++i)printf ((i-1))"#"$i}' file

2.awk '{for(i=1;i<=split($0,a,/#/);i++)if(a[i]!=0) printf (i-1)"#"a[i]}' file (说明:split(字符串,数组,分隔符))

只是为了自己学习记录,可能有更好的方法,希望大家可以提出,互相学习!