看到群里的写的脚本做个记录
要求: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(字符串,数组,分隔符))
只是为了自己学习记录,可能有更好的方法,希望大家可以提出,互相学习!