Bash sed-i使用尾部反斜杠更新
我想运行以下命令:Bash sed-i使用尾部反斜杠更新,bash,shell,unix,sed,bin,Bash,Shell,Unix,Sed,Bin,我想运行以下命令: sed -i -e "s/\($user hard nproc \).*/\1{value here ending with /}/" /etc/something.conf 这里,{value here结尾为/}类似于100/或abc/ 但是,如果我只是提出/喜欢: sed -i -e "s/\($user hard nproc \).*/\1abc//" /etc/something.conf 我得到这个错误: “s”的未知选项 我一直在努力解决这个问题,但想不出任何
sed -i -e "s/\($user hard nproc \).*/\1{value here ending with /}/" /etc/something.conf
这里,{value here结尾为/}类似于100/或abc/
但是,如果我只是提出/喜欢:
sed -i -e "s/\($user hard nproc \).*/\1abc//" /etc/something.conf
我得到这个错误:
“s”的未知选项
我一直在努力解决这个问题,但想不出任何解决办法
基本上,我要做的是更新我的旧值
“用户名硬nproc 10”
至“用户名硬nproc 10**”
使用“**”时,您需要转义尾部的斜杠,或者为表达式使用其他字符。i、 e:
sed -i "s/\($user hard nproc \).*/\1abc\//" /etc/cgrules.conf
或
您需要对尾部斜杠进行转义,或者对表达式使用其他字符。i、 e:
sed -i "s/\($user hard nproc \).*/\1abc\//" /etc/cgrules.conf
或
以下简单的sed对我来说很有效
echo "username hard nproc 10" | sed 's/username hard nproc 10/username hard nproc 10**/g'
username hard nproc 10**
假设你想把这些旧的和新的值放入变量中,那么下面的内容可能会对你有所帮助
old_value="username hard nproc 10"
new_value="username hard nproc 10**"
echo "username hard nproc 10" | sed "s/$old_value/$new_value/g"
输出如下
username hard nproc 10**
同样,您也可以在这里提及您的输入_文件,尽管这里有echo。如果您想保存对输入文件本身的更改,也可以使用
-i
sed的-i
选项(我建议您在不更改输入文件的情况下运行上述代码,然后在对结果满意后使用-i
选项运行)。下面的简单sed对我很有效
echo "username hard nproc 10" | sed 's/username hard nproc 10/username hard nproc 10**/g'
username hard nproc 10**
假设你想把这些旧的和新的值放入变量中,那么下面的内容可能会对你有所帮助
old_value="username hard nproc 10"
new_value="username hard nproc 10**"
echo "username hard nproc 10" | sed "s/$old_value/$new_value/g"
输出如下
username hard nproc 10**
同样,您也可以在这里提及您的输入_文件,尽管这里有echo。如果您想保存对输入文件本身的更改,也可以使用
-i
选项sed
(我建议在不更改输入文件的情况下运行上述代码,然后在对结果满意后使用-i
选项运行)。在sed中,无论何时,如果要使用妨碍用于命令的/
的/
执行某些操作,最简单的方法是为命令使用不同的分隔符。例如:
sed -e "s@\($user hard nproc \).*@\1{value here ending with /}@"
会很好用的
s/pattern/repl/flags
只是一种惯例,您也可以使用s@pattern@repl@flags
在sed中,每当您想使用一个妨碍命令所用的/
的/
执行某些操作时,最简单的方法就是为命令使用不同的分隔符。例如:
sed -e "s@\($user hard nproc \).*@\1{value here ending with /}@"
会很好用的
s/pattern/repl/flags
只是一种惯例,您也可以使用s@pattern@repl@flags
欢迎来到Stack overflow,您的问题不清楚。请在代码标签中发布带有预期输出文件的示例输入文件,然后让我知道。相应更新。欢迎使用堆栈溢出,您的问题不清楚。请在代码标记中发布带有预期输出文件的示例输入\文件,然后让我知道。相应更新。@教父,请看这个,一旦你在堆栈溢出中得到问题的答复,该怎么办@goddave,请看这个,一旦你在堆栈溢出中得到问题的答复,该怎么办