我有一个来自 1 个命令的用户列表 -
getent group ldap-group|cut -c 32-700
这将给我一个表单中的用户列表
user1,user2,user3...
我想将其插入到 sshd 下的 /etc/group 中
sshd:x:74:adminuser,root
我想保留所有文本直到根目录。
我已经尝试过这个 sed 命令但它实际上并没有正确地修改文件。
sudo sed -i "s/^(sshd:x:\\d+:root,).*/\\$1(getent group ldap-group|cut -c 32-700)/" /etc/group
有人能帮助我了解 sed 语法吗?
答案1
我不会尝试用一句话来表达
groupappend=$(getent group ldap-group|cut -c 32-700)
sed -n "/^sshd:/s/$/,$groupappend/p" /etc/group
如果这对你有用那么
sed -i "/^sshd:/s/$/,$groupappend/" /etc/group
不清楚您是否会多次运行此操作,请尝试
sed -i "/^sshd/c\sshd:x:74:adminuser,root,$groupappend" /etc/group
反而。