有一个文件,a.txt ,文容如下:
0689LM name=S:321, password=154adfv839473, value=37461278216723
1633LM name=S:241, password=15sdf78839611, value=21
1121LM name=S:673, password=1543978839612, value=1230
1212LM name=S:854, password=fd43978df9621, value=383242544
3323LM name=S:456, password=sd9788396sdd3, value=11211
3322LM name=S:234, password=dsfas78839623, value=23121
4238LM name=S:254, password=1fdsafdsafdsa, value=324342
51LM name=S:903, password=fdsafsdafsdaf, value=43543
2389LM name=S:572, password=fdsfdsdfwefff, value=2343235
91452LM name=S:842, password=sdfwef23dffds, value=3434324
9553LM name=S:fed, password=23fdssfdss32f, value=10501342176
需求:输出第一列的反转,name=S:之后的数字,value 之后的数值,如下:
ML9860 321 37461278216723
ML3361 241 21
ML1211 673 1230
ML2121 854 383242544
ML3233 456 11211
ML2233 234 23121
ML8324 254 324342
ML15 903 43543
ML9832 572 2343235
ML25419 842 3434324
ML3559 fed 10501342176
awk,不好实现第一列的反转
sed,不好显示抓取 name=S:之后的数字(需要非贪婪)
当然,也可能是我才疏学浅,如果各位大佬有更好的解决方法,欢迎指教。
perl -aE '/name=S:(.*?),.*?value=(.*)/; $a = reverse $F[0]; say "$a $1 $2"' a.txt
)