我在我的项目中使用了bison解析器.当我运行以下命令时:

sed -i y.tab.c -e "s/  __attribute__ ((__unused__))$/# ifndef __cplusplus\n  __attribute__ ((__unused__));\n# endif/"

我得到了这个错误

该命令在linux机器上运行良好.我使用的是Mac OS X 10.9.它只会在mac os x上出错.我不知道为什么.有人能帮忙吗?

谢谢

推荐答案

您需要将输入文件作为最后一个参数.

sed -i -e "s/  __attribute__ ((__unused__))$/# ifndef __cplusplus\n  __attribute__ ((__unused__));\n# endif/" y.tab.c

Linux相关问答推荐

如何在带模式的文件频繁更改的管道中使用grep-f带模式的文件?

奇怪的 Bash 脚本行为

从 ALSA USB 硬件设备获取 USB 设备文件路径

x64 NASM 汇编程序在程序开始时显示分段错误

如何在Linux下使用正则表达式更改文件名

如何在充满 csv 的目录中获得不同的值计数

Linux 系统调用文档

最小的 x86_64 Hello World ELF 二进制文件是什么?

Eclipse 的 C# 插件

如何获取WiFi网络接口的MAC地址?

docker images显示图像,docker rmi表示没有这样的图像或参考不存在

在 Linux 上用 C 语言读写串口

区分 Windows 和类 Unix 系统的 Makefile

Windows 开发环境值得付出代价吗?

如何让 cron 每N分钟运行一次,其中 n % 5 == 1?

如何运行我所有的 PHPUnit 测试?

当父进程被杀死时,使用 fork() 创建的子进程是否会自动被杀死?

在 reverse-i-search (Ctrl+R ) , 历史上类似命令之间切换的任何方法

Linux下Eclipse在哪里找eclipse.ini

如何处理以连字符 (-) 字符开头的文件名?