テンプレートからテキストファイルを生成するツール

テンプレートからテキストファイルを生成するツール

定期的にテンプレートを使用して100を超えるテキストファイルを作成する必要があります。
現在使用しているシェルスクリプトが複雑すぎます。この問題を処理するより賢い方法があると思いますが、方法がわかりません。

「データベース」があります。

# outputfile      template            data1   data2    data3
first.txt         $template_main      $text1  abcd     1234
second.txt        $template_main      $text2  efgh     5678
third.txt         $template_other     $text1  ij       90

および設定ファイル:

template_main=main.txt
template_other=other.txt
text1=whatever
text2=blah

テンプレートは、%%data2%%などのプレースホルダを持つテキストファイルです(プレースホルダの形式は変更される可能性があります)。

複雑なシェルスクリプトを使用するよりも自動化できるツールを知っている人はいますか?

ベストアンサー1

以下を考慮することもできます。

  • m4目的のテキストを出力し、それを変更したい部分を含む入力テンプレートとして使用するテキストプロセッサであるGNUツール。確かにシェルスクリプトよりも簡単です。 (#defineマクロIIRCを使用したCプリプロセッサのように動作します。)

  • xsltproc変換を適用して出力を提供するGNUツールです。テンプレートは、xmlテキストを出力するためにxslt実行したい変換形式です。xml

個人的に私はそれを好みますxsltが、あなたの場合はフォームのフィールドには合いません %DATA1% %DATA2%。テンプレートを変更したくないので、xmlが必要です。

だからあなたは本当にそれを確認する必要がありますm4

  • あるいは、プログラミング言語はストリーム変換に非常に熟練していると言われていますHaskell。私がこのアイデアを考えたのは、Haskell愛好家がParsec文字列ストリームを自然に解析できるこの素晴らしいパッケージについて話しているからです。 xsltよりはるかに優れています。すでにとても良いです。私はHaskellを学び、現在はHaskellにテキストを変換する方法がわからないので繰り返しています。

おすすめ記事