小编Bla*_*Bat的帖子

sed:如果找到,如何替换行或如果未找到则追加到文件末尾?

使用仅包含注释(以 # 开头)和 VARIABLE=value 行的单个输入文件,是否可以在找到时替换单个变量的值,否则,如果未找到,则将该对附加到文件末尾?

我当前的方法是在第一遍中删除它,然后在第二遍中将其附加到文件的末尾,但这种方法会弄乱行顺序(也是两个不同的命令):

sed -r "/^FOOBAR=.*$/d"      -i samefile &&
sed -r "$ a\FOOBAR=newvalue" -i samefile
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点,即。在单个 sed 行中保持行序?如果其他一些实用程序(awk,...)这样做,我会把它接管 sed。

linux awk sed command-line

43
推荐指数
3
解决办法
4万
查看次数

标签 统计

awk ×1

command-line ×1

linux ×1

sed ×1