我试图找到一种方法来注释掉配置文件中的块(多行)。我想匹配第一行,但之后也对每一行进行操作。
sed '/\/Some\/Foo\/Bar\/String/' config.file
Run Code Online (Sandbox Code Playgroud)
以下示例“代码”是我试图匹配和注释掉的内容。该块将始终以 } 结尾,但我也知道模式匹配后的行数,因此这将是模式行 + 6。
foo { '/Some/Foo/Bar/String' :
key1 => value1,
key2 => value2,
key3 => value3,
key4 => value4,
key5 => value5,
}
Run Code Online (Sandbox Code Playgroud)
sed 命令后的结果
#foo { '/Some/Foo/Bar/String' :
# key1 => value1,
# key2 => value2,
# key3 => value3,
# key4 => value4,
# key5 => value5,
#}
Run Code Online (Sandbox Code Playgroud) 我试图弄清楚如何在 sudoer 中创建一个条目,在那里我允许一组有限的参数是一些可选的,但命令仍然非常严格。
有什么简单的方法可以限制这些限制吗?
我希望用户能够使用 -w 标志和可选值运行,但仍然受到限制。我不想为 -w 选项硬编码值。用户应该能够运行这些命令中的任何一个,其中 10 是任意数字。
/usr/bin/iptables -nvL *
/usr/bin/iptables -w -nvL *
/usr/bin/iptables -w 10 -nvL *
Run Code Online (Sandbox Code Playgroud)
我想出了这4个条目。有没有更好的方法来定义可选值?
username ALL=(root) NOPASSWD: /usr/bin/iptables -nvL *
username ALL=(root) NOPASSWD: /usr/bin/iptables -w -nvL *
username ALL=(root) NOPASSWD: /usr/bin/iptables -w [[\:digit\:]] -nvL *
username ALL=(root) NOPASSWD: /usr/bin/iptables -w [[\:digit\:]][[\:digit\:]] -nvL *
Run Code Online (Sandbox Code Playgroud) 我在家里的桌面上配置了 XFCE,想用相同的配置设置我的工作系统(认为它只是复制几个文件)甚至是脚本?过去,我只是在纸上标记更改,并且必须使用我使用的任何桌面环境重复自己。
是否有一种更简单的方法可以将个性化更改从一个系统复制到另一个系统?