Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 删除shell中以字符开头的行,但保留负值_Linux_Shell_Sed_Grep - Fatal编程技术网

Linux 删除shell中以字符开头的行,但保留负值

Linux 删除shell中以字符开头的行,但保留负值,linux,shell,sed,grep,Linux,Shell,Sed,Grep,我的数据集如下: file.txt de fds fds a sa -1 2 -3 1 } 我想删除所有以字符或特殊字符开头的行,但保留负值。因此,我的输出文件是: out.txt -1 2 -3 1 这个问题与我前面的一个问题有关,我可以删除所有以字符开头的行,包括负号 我需要修改我的代码 我的代码: grep -E "^[0-9].*" file.txt 您可以这样尝试: grep '^ *[-+]\?[0-9]\+' file.txt > out.txt (或) 您可

我的数据集如下:

file.txt
de
fds
fds
a
sa
 -1
 2
 -3
 1
}
我想删除所有以字符或特殊字符开头的行,但保留负值。因此,我的输出文件是:

out.txt
-1
2
-3
1
这个问题与我前面的一个问题有关,我可以删除所有以字符开头的行,包括负号

我需要修改我的代码

我的代码:

grep -E "^[0-9].*" file.txt
您可以这样尝试:

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

您可以这样尝试:

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


谢谢,但很抱歉,我的数字前面有空格。所以它正在删除所有的值。。。我修改了我的计划question@Kay,更新了答案。谢谢,但很抱歉,我的数字前面有空格。所以它正在删除所有的值。。。我修改了我的计划question@Kay,更新答案。
$ grep -E '^[-| ][0-9]' file.txt > out
$ cat out
-1
 2
-3
 1