≡ Menu

sed: Remove All Digits / Input From Input

Q. How do I remove all digits or number from my text file or input using sed command?

A. You need to use regular expression to remove digits or number from input. For example, ‘s/[0-9]*//g’ will remove all numbers from the input.

Remove all digits

Type the following command:
$ echo 'This is a test 12335 and 669384 535xy4' | sed 's/[0-9]*//g'
Sample output:

This is a test  and  xy

You can remove all digits from a text file:
$ sed 's/[0-9]*//g' input.txt
$ sed 's/[0-9]*//g' input.txt > output.txt

Share this tutorial on:

Like this? Follow us on Twitter OR support us by using Patreon

{ 6 comments… add one }
  • dimka August 19, 2009, 9:46 am

    But how can i remove all, but digits?!

  • nixCraft August 19, 2009, 12:04 pm

    echo 'This is a test 12335 and 669384 535xy4' | sed 's/[^0-9]*//g'

  • dimka August 21, 2009, 6:04 am

    Oh, thanks! That’s what I was looking for!

  • np September 5, 2012, 2:56 pm

    I’m doing this:

    echo 'something=1234
    something=2345' | sed 's/something=1234[^0-9]/something=9999/g'

    The output is :


    And what I’m trying to get is :


    Why isn’t it working when the pattern is at the end of the line ? What a pain….
    Help, anyone ?

  • wudeng December 11, 2013, 9:17 am

    you can use \b instead of [^0-9], \b means word boundary in regexp

  • Vlad May 23, 2016, 2:15 pm

    sed -i “s/…/…/g” file
    replaces the contents of file

Security: Are you a robot or human?

Leave a Comment

You can use these HTML tags and attributes: <strong> <em> <pre> <code> <a href="" title="">

   Tagged with: , , , , , ,