I am trying to remove non-printable character (for e.g. ^@
) from records in my file. Since the volume to records is too big in the file using cat is not an opti
Perhaps you could go with the complement of [:print:]
, which contains all printable characters:
tr -cd '[:print:]' < file > newfile
If your version of tr
doesn't support multi-byte characters (it seems that many don't), this works for me with GNU sed (with UTF-8 locale settings):
sed 's/[^[:print:]]//g' file