テキストファイルの最初の空白行にハイフンを追加するには?

テキストファイルの最初の空白行にハイフンを追加するには?

与えられたテキストファイルの最初の空白行に3つのハイフンを追加しようとしており、これをsedこの目的に使用したいと思います。私の初期ファイル(MultiMarkdownファイル)は次のとおりです。

title: "Ch. 1: Unparticipated Causality"
author: Jonathan Greig
biblio-files: bibliography.bib
biblio-style: chicago-authordate
mainfont: Linux Libertine O
linestretch: 1.5
documentclass: article
geometry: margin=1in
citecolor: black
linkcolor: black

## Ch 1: Unparticipated Causality ##

linkcolor: blackとの間に## Ch 1 ... ##ダッシュ()を追加してみました---。これを行う方法がわかりません。次のコマンドはまだ機能しません。

sed '/^$/a ---' Chapter1Rev4.md

現在の結果は「コマンドは\の後にテキストが続きます」で、バックスラッシュを追加する方法やハイフン/ダッシュをエスケープする方法がわかりません。

ベストアンサー1

{ sed -e/./b -es/$/---/\;q; cat; } <in >out

...最初の空白行を3つのハイフンに置き換えるだけでなく、最初の空白行と残りの空白行を見つけるとすぐに入力ファイルを読み取るようにseduitに指示します。ただし、GNUを使用している場合は、nbufferredスイッチを使用する必要があります。qcatsed-u

おすすめ記事