Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.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 如何删除不以空格和整数开头的行_Linux - Fatal编程技术网

Linux 如何删除不以空格和整数开头的行

Linux 如何删除不以空格和整数开头的行,linux,Linux,我有一个文本文件,我想删除所有不以5、4或3空格和整数值开头的行(包括空行) 到目前为止,我已经手动删除了文本文件的第一部分,然后在我还想删除的行上识别了一些单词,并使用了grep: grep -v "iter" out_modif.log > out_modif2.log grep -v "Stabilizing" out_modif2.log > out_modif3.log grep . out_modif3.log > out_modif4.log 等等 我试过了 g

我有一个文本文件,我想删除所有不以5、4或3空格和整数值开头的行(包括空行)

到目前为止,我已经手动删除了文本文件的第一部分,然后在我还想删除的行上识别了一些单词,并使用了grep:

grep -v "iter" out_modif.log > out_modif2.log
grep -v "Stabilizing" out_modif2.log > out_modif3.log
grep . out_modif3.log > out_modif4.log
等等

我试过了

grep -v "^[!0-9]" out.log > out2.log
但不起作用(我想是因为整数前面有空格)

输入文本文件的一部分示例:

Initialize using the hybrid initialization method.

Checking case topology... 
-This case has both inlets & outlets 
-Pressure information is available at the boundaries

    iter        scalar-0        scalar-1

    1       1.000000e+00    0.000000e+00
    2       8.345726e-04    0.000000e+00

  iter  continuity  x-velocity  y-velocity  z-velocity

     1  1.0000e+00  1.6601e-02  7.6482e-03  1.7253e-02
我希望命令的输出是一个仅包含以下内容的文件:

 1  1.0000e+00  1.6601e-02  7.6482e-03  1.7253e-02

(包含整数的其他行有制表符而不是空格)

我用您的输入调用了我的文件
carles

grep -P '^ {3,5}[0-9]+[[:space:]]' carles
    1  1.0000e+00  1.6601e-02  7.6482e-03  1.7253e-02

在“iter连续性x-velocity y-velocity z-velocity<代码>”之后打印所有非空行是否也足够?这将很容易使用awk`而不是
grep
。或者在带有数字的行之后或之间是否有其他行被抑制?顺便说一句:你的命令
grep。out\u modif3.log>out\u modif4.log
不搜索文字
。使用
fgrep。out\u modif3.log>out\u modif4.log
或将
转义为
grep'\.'out\u modif3.log>out\u modif4.log
。我意识到我的请求不够精确,因为对于您的代码,我仍然得到一些不需要的线条:468个混合质量流入口面,5区,二进制。59764混合压力入口面,6区,二元。56934三角形压力出口面,8区,二元。1 1.0000e+00 1.6601e-02 7.6482e-03 1.7253e-02 2.9422e-01我已经用下面的grep-P'^{3,5}[0-9]{1,3}[]{2}'out\u test.log>out\u test2.log修改了你的代码,似乎有效!很高兴我能让你开始;)