TexPad is creating it. I know that it is under some deadkey. I just cannot remember it is name.

The blue character:

enter image description here

I just want to mass remove them from my document.

How can you type it?


4 Answers 4


It is known as carriage return.

If you're using vim you can enter insert mode and type CTRL-v CTRL-m. That ^M is the keyboard equivalent to \r.

Inserting 0x0D in a hex editor will do the task.

How do I remove it?

You can remove it using the command

perl -p -i -e "s/\r//g" filename

As the OP suggested in the comments of this answer here, you can even try a `

dos2unix filename

and see if that fixes it.

As @steeldriver suggests in the comments, after opening the vim editor, press esc key and type :set ff=unix.




-ksh: revenue_ext.ksh: not found [No such file or directory]

  • Thanks, @Ramesh. I have no idea how to do those keyboard codes. You're a good guy.
    – mikeserv
    Jun 6, 2014 at 0:20
  • 1
    @mikeserv, use <kbd> key </kbd> to use the keyboard symbols. :)
    – Ramesh
    Jun 6, 2014 at 0:31
  • 2
    +1 for answering the actual question "what is it called" Jul 10, 2017 at 2:33


sed -i 's/^M//' filename.txt

While typing ^M in the command, do not use ^M as that only inserts what is displayed, not what causes it to be displayed; use CtrlV CtrlM.


you can also do this with sed

 sed -i "s/\r//g" filename

As Ramesh notes, CTRL+V CTRL+M should get you the literal character - though you're not limited to doing this only in vim - you should be able to do the same on any canonical mode tty.

cat ./file | tr -d '\r' >./file

...might do the job.

  • 1
    you're reading from and writing to the same file, would this not cause a problem
    – iruvar
    Jun 5, 2014 at 19:20
  • @1_CR Im reading from the |pipe file. Its true, an intermediate tmp file would be more robust - but the buffer in the pipe should be enough. Still, in case it isnt, tr -d '\r' <<FILE >./file\n$(cat ./file)\nFILE\n would be a sure thing - provided the file contains no \000 characters, that is.
    – mikeserv
    Jun 5, 2014 at 19:28
  • This will more than likely erase ./file before cat has a chance to read it. All commands of a pipeline are launched in parallel and redirections are processed by the shell before the affected command is executed.
    – jlliagre
    Feb 23, 2017 at 8:33
  • @mikeserv re the heredoc-containing-$(cat) fix: or (significant) trailing empty lines or unterminated last line, or more data than fits in available memory. (rm file; tr -d '\r' >file) <file avoids those, if recreating the file is okay (resets owner/group/permbits/ACL/context/etc) Feb 23, 2017 at 12:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.