2016-10-13 2 views

답변

1

사용할 수있는 tr 유지하는 인쇄 가능한 문자 :

tr -cd "[:print:]" <test.txt > test2.txt 

tr 삭제 옵션을 사용합니다 sed

tr -c "[:print:]" "X" <test.txt > test2.txt 

, 당신은에 그것을 시도 할 수 있습니다 : (: X 예) (-c 옵션으로 부정 인쇄 기준) 당신이 뭔가에 의해 그 특별한 문자를 교체 하려면

비 인쇄에 X로 인쇄 할 수없는 대체 :

가 일부에서 작동하지만 문자에 실패
sed -r 's/[^[:print:]]/X/g' text.txt > test2.txt 

> 내 컴퓨터에 127 (I 시도 하나가 ▒로 인쇄 어쩌면 때문에!) 0,123,696 반면,은 완벽하게 작동합니다.

인라인 예 (printf와 바이트를 표시하는 특수 문자 + 필터 + OD를 생성하는) :

$ printf "\x01ABC\x05\xff\xe0" | od -c 
0000000 001 A B C 005 377 340 
0000007 

$ printf "\x01ABC\x05\xff\xe0" | sed "s/[^[:print:]]//g" | od -c 
0000000 A B C 377 340 
0000005 

$ printf "\x01ABC\x05\xff\xe0" | tr -cd "[:print:]" | od -c 
0000000 A B C 
0000003 
관련 문제