sed コマンドは、「//----」で始まるファイルの最初の行を置き換えます。

sed コマンドは、「//----」で始まるファイルの最初の行を置き換えます。

アイデアは次のとおりです。

FILE.txt ファイルの最初の行が次から始まる場合

//-----------

次に交換

//----------- %TAG

これを行うには、次のコマンドを使用しました。

sed -i "1s/.\/\/-----------/& %TAG/" FILE.txt

しかし、それはうまくいきませんでした。

どんな提案がありますか?

答え1

すでに近づいています。.特定の文字で始まる内容を削除し、//...

sed -i "1s/\/\/-----------/& %TAG/" FILE.txt

または、エスケープを減らすために区切り文字を変更します。

sed -i "1s#//-----------#& %TAG#" FILE.txt

答え2

あなたは近いです。先行点は望ましくないすべての文字と一致します。文字列が行の先頭でのみ一致するようにするには、正規表現は次から始める必要があります^

sed -i "1s#^//-----------#& %TAG#" file.txt

aをコマンド区切り文字#として使用すると、逆引用が簡単になります。s

関連情報