在bash中寻找在该行末尾添加的特定行。

时间:2018-01-23 14:45:41

标签: bash

使用bash我会通过一个文件,如果我找到一个特定的行,我想在该行的末尾添加。 我寻求通过“AllowGroups”的配置文件,我想保留所写的内容,但最后添加。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望将rgroup添加到同时列出AllowGroup的每个wheel行。如果是这样,您只需要sed

sed 's/\(AllowGroups[^#]\+\bwheel\b\)/\1 rgroup/' /etc/ssh/sshd_config > /etc/ssh/sshd_config_n

使用GNU sed v4.4进行测试 - 根据您的sed版本,您可能需要更多或更少的反斜杠。

  • s///命令用于替换文本。
  • AllowGroups[^#]\+\bwheel\b匹配AllowGroups wheel,其中包含可选的空格或其他非注释字符([^#])。 \bwheel\bwheel与整个单词匹配,因此跳过,例如wheeliofreewheel
  • \( \)将匹配的文本保存到\1
  • 替换文字\1 rgroup会将rgroup添加到匹配的内容上,即AllowGroups ... wheel