与えられたテキストファイルの最初の空白行に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つのハイフンに置き換えるだけでなく、最初の空白行と残りの空白行を見つけるとすぐに入力ファイルを読み取るようにsed
uitに指示します。ただし、GNUを使用している場合は、nbufferredスイッチを使用する必要があります。q
cat
sed
-u