linux - 带有特殊字符的 sed

标签 linux bash unix sed

我想在这一行上使用 sed:

--> ASD = $start ( *.cpp ) <--

其中 $start 不是变量,我想对其使用 sed 并将所有这一行替换为:

ASD = $dsadad ( .cpp ) 

如何让 sed 忽略特殊字符,我尝试在特殊字符前添加反斜杠,但也许我弄错了,谁能给我举个例子吗?

这是我想要的:

sed 's/CPPS = \$(shell ls | grep \*\.cpp )/somereplace/' Makefile

最佳答案

sed 's/\$start/\$dsadad/g' your_file
>> ASD = $dsadad ( *.cpp ) 

sed 's/\*//g' your_file
>> ASD = $start ( .cpp ) 

跟随您的编辑:

sed -i 's/ASD = \$start ( \*.cpp )/ASD = \$dsadad ( .cpp )/' somefile
>> ASD = $dsadad ( .cpp )

添加 -i (--inplace) 以编辑输入文件。

关于linux - 带有特殊字符的 sed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5980857/

相关文章:

django - 为什么 Gunicorn 使用端口 8000/8001 而不是 80?

linux - 如何在 linux 内核编程中从 'device struct' 获取 'dev_t'?

c - 线程和进程之间的文件锁定

ruby - Chef + rbenv : "rbenv: no such command ' install'"despite ruby-build being installed

linux - 随机运行 Bash 脚本

c - posix 线程(pthread_create 和 pthread_join)

linux - unix/linux 中的 cron 表达式是否允许指定确切的开始和结束日期

Linux 中的 Java 路径

linux - 可视化像维基百科这样的巨大图表

linux - 如何在不包含 tar 文件中的整个路径的情况下对多个文件进行 tar