現(xiàn)網(wǎng)teastore導(dǎo)出的數(shù)據(jù)文件,通過vim和less查看時(shí),都發(fā)現(xiàn)是亂碼,通過more查看時(shí),部分內(nèi)容不能正常顯示,通過cat命令查看時(shí)會把相應(yīng)的亂碼部分自動處理掉。某業(yè)務(wù)人員想通過 fileio進(jìn)行讀取操作時(shí),取的內(nèi)容和vim 、less看到的效果一樣,因?yàn)閬y碼位會占用一位。具體見下圖:
正常復(fù)制上面的亂碼符號,通過sed進(jìn)行無法正常替換。此時(shí)可以換用16進(jìn)制的替換,先用hexdump -C 命令進(jìn)行查看,具體如下:
通過上面可以找到相應(yīng)的亂碼對應(yīng)的十六制是多少。在通過sed替換時(shí),通過在替換16進(jìn)制數(shù)字前增加x即可。類似命令如下:
sed -i 's/x40x1f//g' 1.test sed -i 's/x1f//g' 1.test sed -i 's/x00x00x00x01//g' 1.test sed -i 's/x00x00x00x03//g' 1.test
登錄后復(fù)制
替換完成后,再查看就正常了:
[root@read1-sd tmp]# less 1.test 0|804690908461101|31205340930||80469090846@ 0|804205542061101|30607176423||80420554206@ 0|804571381121101|32017234631||80457138112@ 0|801784713021101|41049442587||80178471302@ 0|802643435491101|40081855639||80264343549@
登錄后復(fù)制