如何在 sed -e 命令中组合多个选项?

米哈伊尔·莫德斯托夫

今天我花了一天时间尝试做以下事情。

假设我有一个 Fortran 代码文件。

我想将此文件中的所有内容更改为小写。但如果一行以特定字符或单词开头,则不应更改该行。

例如,以下命令

sed -i -e '/^!/! s/\(.*\)/\L\1/' $filein

做我想做的事,它确实将所有内容更改为小写,省略注释(以“!”开头的行)或

sed -i -e '/^#include/! s/\(.*\)/\L\1/' $filein

省略以“#include”字开头的行。

问题:如何将这两个命令合二为一?

所以基本上我需要在第一个条件下添加“或”。我尝试了多种选择,但没有任何运气。我想这应该是一些简单的事情。

schrodigers好奇心

您可以使用 OR \|

给定一个文件:

!FOO
BAR
BAZ
# COMMENT

命令

sed -e '/^!\|^#/!s/\(.*\)/\L\1/' $filein

输出

!FOO
bar
baz
# COMMENT

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章