teeを使用してファイルの終わりではなく先頭に追加する方法は?

teeを使用してファイルの終わりではなく先頭に追加する方法は?

私はマークダウンファイルにデータを追加するためにこのbashコマンドを使用しています echo "${{ env.PR_TITLE }}" | tee -a page1.md

page1.mdechoステートメントを最初の行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

関連情報