如何删除包含除数字和空格之外的任何内容的行

如何删除包含除数字和空格之外的任何内容的行

我需要编写一个脚本来编译一些 pascal 程序,启动它,然后删除包含除数字和空格之外的任何内容的输出的所有行。之后,我应该打印前五行。

这是一项作业,因此我们只能使用这些基本命令。

我知道如何编译和启动该程序。我还知道最后如何打印前五行。但我坚持删除这些行。

答案1

正则表达式[0-9 ]匹配一位数字或空格。

正则表达式[^0-9 ]匹配一个字符,即不是数字或空格。

grep命令可用于从文件或程序的输出(通过管道)中提取与特定正则表达式匹配的行。该grep命令有一个-v标志,可以反转匹配的含义,以便只有行不是匹配给定的正则表达式将被允许通过。

因此,使用这些工具,您应该能够说类似的话

./myprogram | grep ...

您需要自己填写这些点(因为这是家庭作业)。

相关内容