sed 命令向输出的每行输入添加 2 个空格

sed 命令向输出的每行输入添加 2 个空格

在 sed 命令中,我基本上需要向从输出复制到输入的每一行添加 2+ 空格,然后在输入时从输出中删除最后一行。这就是我所拥有的:

sed -i -e '/PLACEHOLDER/ r TestOutput.txt' -e s/PLACEHOLDER// SQLInput.txt

sed 命令已经从输出导入到输入并删除 PLACEHOLDER,但我不知道如何让它向从输出输入的每一行添加 2 个空格。请记住,输入还包含我不想更改的其他变量和函数。

输出:

WORD
WORD
WORD
WORD

输入:

PLACEHOLDER

sed 命令后的预期输入:

  WORD
  WORD
  WORD
  WORD

答案1

我不清楚你想在哪里添加空间,但我想这可能对你有帮助:

sed -i -e '/PLACEHOLDER/ r TestOutput.txt' -e 's/PLACEHOLDER//;s/^/  /' SQLInput.txt

the^是一个起始行锚点,因此该语句s/^/ /基本上只是在任何行的开头添加两个空格。

相关内容