0

I have dataset as:

file.txt
de
fds
fds
a
sa
 -1
 2
 -3
 1
}

I would like to delete all the lines starting with characters or special characters, but preserve the negative values. So my outfile is:

out.txt
-1
2
-3
1

This question is related to one of my earlier questions Remove the lines starting with a character in shell with which I can remove all lines starting with a character including negative sign.

I need to modify my code.

my code:

grep -E "^[0-9].*" file.txt
Kay
  • 1,647
  • 2
  • 18
  • 40

2 Answers2

1

You can try like this:

grep '^ *[-+]\?[0-9]\+' file.txt > out.txt

(Or)

grep -E '^ *[-+]?[0-9]+' file.txt > out.txt
sat
  • 13,503
  • 5
  • 41
  • 62
1
$ grep -E '^[-| ][0-9]' file.txt > out
$ cat out
-1
 2
-3
 1
CWLiu
  • 3,563
  • 1
  • 7
  • 12