sed命令替换if(使用if(

sed命令替换if(使用if(,sed,Sed,我想运行sed命令:sed命令将if(替换为if( 我的命令如下所示: sed 's/if(/if ( /g' file1.c >file1.c 其中file1.c包含需要替换的字符串 问题是文件内容被清除,没有反映任何更改。使用以下方法: sed -re 's/if(/if ( /g' 您可以尝试两种不同的方法 如果要更新现有文件: sed -i 's/if(/if ( /g' file1.c 如果要将修改后的文件存储在其他文件中: sed 's/if(/if ( /g' f

我想运行sed命令:sed命令将
if(
替换为
if(

我的命令如下所示:

sed 's/if(/if ( /g' file1.c >file1.c
其中
file1.c
包含需要替换的字符串

问题是文件内容被清除,没有反映任何更改。

使用以下方法:

sed -re 's/if(/if ( /g' 

您可以尝试两种不同的方法

如果要更新现有文件:

sed -i 's/if(/if ( /g' file1.c  
如果要将修改后的文件存储在其他文件中:

sed 's/if(/if ( /g' file1.c > file2.c  

您不能重定向到同一个文件:它首先被截断,然后进行求值。相反,请使用
sed-i'…'文件进行就地替换,或者只重定向到另一个文件。否。当前命令有效,这只是(re-)中的一个问题方向。解决方案没有意义。另外,为什么要发布另一个答案?我向您提出了两种不同的方法来编辑您的文件内容…第一种方法是编辑现有的。(覆盖)第二种方式是编辑新文件。第一种方式不是编辑,只会显示在屏幕上。第二种方式有一个不必要的管道,应该是
sed'…'file1.c>file2.c
你说得对!抱歉:-(