1
ソースデータには、読み込み可能な形式ではない特殊文字が含まれています。誰もが以下に役立つことができます:Unixコマンドの特殊文字の置換方法
コマンドしようと試み: SEDの/../トン/ G 'test.txtの> test2.txtという名前
使用できるソースデータには、読み込み可能な形式ではない特殊文字が含まれています。誰もが以下に役立つことができます:Unixコマンドの特殊文字の置換方法
コマンドしようと試み: SEDの/../トン/ G 'test.txtの> test2.txtという名前
使用できるtr
保つためにのみ印刷可能文字:
tr -cd "[:print:]" <test.txt > test2.txt
はtr
削除オプションを使用します上の非印刷可能(-c
オプションによって否定印刷基準)
あなたがにしたい場合は何か他のもの(例:X):でこれらの特殊文字を置き換えるsed
で
tr -c "[:print:]" "X" <test.txt > test2.txt
を、あなたがそれを試みることができますX
によって非印字置き換える:
sed -r 's/[^[:print:]]/X/g' text.txt > test2.txt
それはいくつかの上で動作しますが、文字で> 127失敗した私のマシン上でのに対し、(私が試した1が▒として印刷可能であるので多分!)は完全に機能します。
インライン例(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