如何使用 tee 附加到文件开头,而不是最后?

如何使用 tee 附加到文件开头,而不是最后?

我正在使用此 bash 命令将数据附加到 markdown 文件: echo "${{ env.PR_TITLE }}" | tee -a page1.md

我想知道是否可以将 echo 语句附加到page1.md开头,即第 1 行。而不是最后一行。

如果是这样,我该如何编辑上面的命令来执行此操作?

答案1

你不能用tee-- tee 来做到这一点,只能覆盖或追加。

适合这项工作:给定文件“page1.md”:

This is the old first line.
This is the old second line.

然后命令

ed page1.md <<'END_ED'
1i
${{ env.PR_TITLE }}
.
wq
END_ED

结果是

$ cat page1.md
${{ env.PR_TITLE }}
This is the old first line.
This is the old second line.

Heredoc解释说:

  • 1i- 在第 1 行之前插入
  • ${{ env.PR_TITLE }}- 要插入的文字
  • .- 结束插入
  • wq- 保存并退出

相当于

sed -i '1i\
${{ env.PR_TITLE }}
' page1.md

答案2

尝试像

echo "\${{ env.PR_TITLE }}" | cat - page1.md > Tmp; mv Tmp page1.md

检查mv.

相关内容