vin*_*len 12 linux sed non-printable
如何删除图片1中显示为蓝色的特殊字符,如:^ M,^ A,^ @,^ [.根据我的理解,^ M是一个Windows换行符,我可以sed -i '/^M//g'用来删除它,但它不能删除其他人.该命令dos2unix也不起作用.是否有任何方法可以用来删除它们?
hee*_*ayl 16
删除除可打印字符(字符类[:print:])以外的所有内容,使用sed:
sed $'s/[^[:print:]\t]//g' file.txt
Run Code Online (Sandbox Code Playgroud)
[:print:] 包括:
[:alnum:] (字母数字)[:punct:] (标点符号)ANSI C quoting($'')用于解释\t内部$''(in bash和alike)的文字选项卡.
为确保该命令在Sed中的作用域有限,请强制使用“ C”(POSIX)字符分类,以避免非ASCII字符出现不可预测的行为:
LC_ALL=C sed 's/[^[:blank:][:print:]]//g' file.txt
Run Code Online (Sandbox Code Playgroud)