使用sed

时间:2017-07-15 10:21:00

标签: linux bash sed

我想使用sed替换另一个文本文件中的第一行。

在替换行中必须是$ variable。

2 个答案:

答案 0 :(得分:0)

唯一(相当简单)安全地做到这一点的方法是

  1. 删除第一行。
  2. 将修改后的文件与临时文件中的新第一行合并。
  3. 用临时文件替换原始文件。
  4. 一种方法是

    { printf '%s\n' "$variable"; sed '1d' original.txt; } > tmp.txt && mv tmp.txt original.txt
    

答案 1 :(得分:-1)

var1=$(systemd-escape $var) 
sed -ri '1s@^.*$@'"$var1"'@' filename

$ var引用你的动态变量,我们专注于第一行,然后用var变量替换从行的开头到结尾的任何内容。注意单引号的位置,它将包含变量扩展到sed语句。