Shell 如何在匹配同一行中的不同列时替换特定列的值

Shell 如何在匹配同一行中的不同列时替换特定列的值,shell,awk,sed,Shell,Awk,Sed,sed-e'/\$FileCreateMode/s/^/#/'/etc/rsyslog.conf echo'$FileCreateMode 0640'>>/etc/rsyslog.conf 如何将上述两个命令合并为一个命令?您可以尝试 FileCreateMode=what_you_want;sed -i "/$FileCreateMode/s/^/$FileCreateMode 0640\n#/" /etc/rsyslog.conf 最初的$FileCreateMode值是多少?文件中甚至可

sed-e'/\$FileCreateMode/s/^/#/'/etc/rsyslog.conf

echo'$FileCreateMode 0640'>>/etc/rsyslog.conf

如何将上述两个命令合并为一个命令?

您可以尝试

FileCreateMode=what_you_want;sed -i "/$FileCreateMode/s/^/$FileCreateMode 0640\n#/" /etc/rsyslog.conf

最初的
$FileCreateMode
值是多少?文件中甚至可能不存在$FileCreateMode。如果是的话,它可能是任何东西。在匹配不同的列后,特定列中的标题不清楚。希望这个标题听起来更相关