我想把所有不可打印的字符、空格和问号替换为零。
sed 's/[^[:print:]\|?\| \r\t]//g'
但这只会取代不可打印的焦炭。空格和问号仍然存在。
发布于 2020-10-16 19:17:31
括号表达式中的管道是指管道,而不是替换操作符。
您可以使用
sed -E 's/[^[:print:]]|[[:blank:]?]//g' file > outfile这里,
-E启用了POSIX syntax[^[:print:]] -任何不可打印的char| -或者(在这里,由于-E和它在括号表达式之外的事实,它是一个交替运算符[[:blank:]?] --一个水平的白雪公主或问号。)。
如果要使用POSIX BRE,可以链接两个命令:
sed 's/[^[:print:]]//g;s/[[:blank:]?]//g' file > outfilehttps://stackoverflow.com/questions/64394830
复制相似问题