使用sed替换现有线路中的阵列

使用sed替换现有线路中的阵列,sed,Sed,我想换新的 /fdasatavol/ankit 到 有人能帮我吗?要写入新文件(不修改文件1): 或在原始文件中替换: sed -i 's/fdasatavol/fdasatavol_sata/g' file1 这将用fdasatavol\u sata替换每次出现的fdasatavol: sed 's/fdasatavol/&_sata/g' 如果您的输入出现了不在/fdasatavol/ankit中的fdasatavol,并且您不想替换它们,则使用: sed 's@/fdasat

我想换新的

/fdasatavol/ankit

有人能帮我吗?

要写入新文件(不修改文件1):

或在原始文件中替换:

sed -i 's/fdasatavol/fdasatavol_sata/g' file1

这将用
fdasatavol\u sata
替换每次出现的
fdasatavol

sed 's/fdasatavol/&_sata/g'
如果您的输入出现了不在
/fdasatavol/ankit
中的
fdasatavol
,并且您不想替换它们,则使用:

sed 's@/fdasatavol/ankit@/fdastatavol_sata/ankit@g'
注意:您可以使用任何字符作为sed的delimiter,以避免与包含
/
的字符混淆<默认情况下,code>sed打印到
stdout
,如果您对
sed
产生的更改感到满意,则可以使用
-i
选项将其存储回文件

sed -i 's/fdasatavol/&_stat/g' file

基本的
echo”/fdasatavol/ankit“| sed's/fdasatavol/fdasatavol_sata/”
会起作用,但在我看来,你需要更通用的东西。向我们展示您尝试了什么。道具(和+1)用于指出涉及整个模式的更安全用法,以避免更改文件的其他部分。这将影响fdasatavol的所有情况,其中可能包括具有不同上下文的其他不需要的情况。
sed 's@/fdasatavol/ankit@/fdastatavol_sata/ankit@g'
sed -i 's/fdasatavol/&_stat/g' file