-3
我如何gsub awk一個文件,其中包含像「< 85」這樣的二進制字符「這種情況下會使我的程序崩潰。如何在二進制數據unix gsub awk
我有這樣的使用cat
cat $filename | awk '{gsub("<85>",RS);print}' > somedir/sometxtfile.txt
該代碼不是上的文件包含二進制字符,如該文件
ISA*00* *00* *01*157322272 *ZZ*00116520M *160907*1830*^*00403*000005354*0*P*><85>GS*PO*157322272*00116520M*20160907*1830*000005354*X*004030VICS<85>ST*850*0001<85>BEG*00*RE*7570006859**20160907<85>CUR*BY*USD<85>REF*IA*5164<85>REF*DP*595*ELECTRONICS F<85>PER*BD*JILL MAYNARD<85>ITD*******45<85>DTM*001*20160919<85>DTM*037*20160912<85>N1*ST**92*51<85>PO1*1*14*EA*29.38*QT*UP*753048155606*VA*T54281E4BLK/GRY*IT*T54281E4*IN*12693802*BO*Orange*IZ*NO SIZE<85>CTP*RS*RES*59.99<85>PID*F****2015IMSLK5/ORANG/NSIZE/NDIMN<85>PO4*1<85>SDQ*EA*92*105*1*157*1*186*1*234*1*283*1*414*2*426*1*464*1*626*1*672*1<85>SDQ*EA*92*1012*1*1030*1*1083*1<85>PO1*2*14*EA*23.66*QT*UP*753048179756*VA*T40941E4*IT*T40941E4*IN*12693812*BO*Grey*IZ*NO SIZE<85>CTP*RS*RES*49.99<85>PID*F****2015EXPFUL/GREY/NSIZE/NDIMN<85>PO4*1<85>SDQ*EA*
你可能會先解釋一下你想要做什麼,爲什麼不工作? –
我們不需要一英里寬的記錄,你不能說明30個字符記錄中的問題嗎?祝你好運。 – shellter
嗯,我正在玩這個,如果我'gawk'BEGIN {printf「%c」ORS,「\ x41」}''我得到一個'A',但是如果我'awk'BEGIN {printf「 c「ORS,」\ x85「}」'我得到'gawk:cmd。行:1:fatal:format_tree:obuf:不能分配34359738368字節的內存(不能分配內存)'。 「mawk」至少給我一個「 」。 –