有一个文件,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

)