コマンドラインを介して複数のファイルに複数行のテキストを挿入する

コマンドラインを介して複数のファイルに複数行のテキストを挿入する

にあるディレクトリ内の複数のtexファイルにいくつかのコードを挿入したいと思います。これらのファイルには異なるドキュメントクラスがあるため、これはシンボルプレースホルダーにすぎません。foo*.tex\documentclass{.*}.*

コードには次のようないくつかの行があります。

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{ngerman}

これを自動化する最良の方法は何ですか?

ベストアンサー1

それを使用する1つの方法GNU sed

コンテンツscript.sed:

/^\\documentclass[^{]*{[^}]*}/ {
    a\
\\usepackage[utf8]{inputenc}\
\\usepackage[T1]{fontenc}\
\\usepackage{ngerman}
}

次のように実行します。

sed -s -i.bak -f script.sed foo*.tex

行の先頭を^一致させるために使用します。documentclass前にスペースがある場合は削除してください。

スイッチは-s各入力を別のファイルとして処理し、拡張子を持つバックアップを-i作成します。bak

おすすめ記事