linux - sed 模式命令

标签 linux bash shell sed

所以我在 $1 上应用了这个 sed 命令,它是一个文件 我想知道 sed 如何评估所有斜杠、反斜杠 继承以及模式中的任何字符的含义

sed '/^\/\*/d/.*\*\//d' $1

据我所知

'/^ ....../d' 

删除行开头的一些模式(考虑第二个 d)

-第一个 d 代表什么,点和/或/\(转义字符?)

可以请有人向我解释一下吗?

最佳答案

这实际上是两个背靠背的 sed 命令:

/^\/\*/d
/.*\*\//d

^ 匹配行首,\/ 匹配文字正斜杠,\* 匹配文字星号。 (由于正斜杠和星号是“元字符”,因此需要使用反斜杠进行转义才能按字面匹配。)

.* 匹配任何字符序列,\* 再次匹配文字星号,\/ 再次匹配文字斜杠。

把它们放在一起,它的作用是删除 C 风格的注释,但前提是它们出现在行的开头:

/* This will go away */This will stay

关于linux - sed 模式命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9066828/

相关文章:

python - Bash/Python 将多个路径收集到一个并将文件名替换为 '*' 字符

bash - 如何避免在终端启动时总是输入 id_rsa 的密码?

linux - bash:/usr/local/bin/composer.phar 没有这种类型的文件或文件夹(ubuntu 16.04)

bash - bash 脚本中的参数错误太多

linux - 如何使用 shell 脚本删除 CSV 文件中多行中常见的特定字符串?

android - 如何以编程方式在android中执行linux命令?

linux - 有 Bamboo 远程代理的 Linux 服务器的系统要求是什么?

python - 使用 Python 和 SQLite 的登录脚本

php - 尝试在 PHP/Apache 中执行 exec ("unix2dos xxx"时出现问题

linux - awk 向文本添加颜色代码