ファイルの内容は次のとおりです。
[Greet]
Hello
Hi
Hola
Hey
という文字列を追加して、その位置がHello
の後にくるようにします。
[Greet]
Hello
Hey
Hi
Hola
コマンドラインからecho
または他のネイティブLinuxツールを使用して上記を行う方法はありますか?
sed
を使用します。
行を挿入または追加するためのsed
コマンドには改行が必要なため、ファイルにsed
コマンドを配置し、そのファイルを実行するようにsed
に指示するのが最も簡単です。
例:(すべての)Hey
の後にHello
を挿入するには、次のファイルを作成します。
/Hello/a\
Hey
次に、sed
を呼び出します。
sed -f appendheyafterhello.sed < sourcefile > resultfile
Here は、行の挿入方法を含むsed
コマンドですbeforeパターンまたは特定の行番号。
ここにいくつかのPerlソリューションがあります:
Perl -p -i -e 'print "Hey\n" if /Hi/' filename
または
Perl -p -i -e 'print "Hey\n" if $. == 4' filename
または
Perl -n -i -e 'print; print "Hey\n" if /Hello/' filename