web-dev-qa-db-ja.com

シェル出力をMSWord文書に書き込む

問題:

通常、シェルから>を使用してテキストをファイルに出力します。 MS Wordドキュメント(.docまたは.docx)を出力する同等のプロセスを見つけようとしています。

私はlibreofficeを使用することを考えていて、 convert-to コマンドを使用してこれを思いつきました。

echo "texthere" > tt.txt;   soffice --convert-to doc tt.txt

つまり、最初にプレーンtxtドキュメントを作成し、次に2番目のステップでそれをdocに変換します。

質問:ワンステップソリューションはありますか?

例えば。の線に沿って:

echo "texthere" | command_to_output_as_doc filename.doc

ありがとう! (私はGNU bash、基本OSのバージョン4.3.48(1)を使用しています)

2
patrick

pandoc を使用できると思います。 stdinから読み取り、さまざまな形式に出力できます

3
rcjohnson

これは、テスト後に@rcjohnsonによる回答に追加するためのものです。 Pandoc は、さまざまな入力をフォーマットされたテキストを含むdocx形式に変換するという非常に優れた機能を果たします。

たとえば、次のPythonスクリプト(pandoctest.pyとして保存)

print "Here we have **bold** and _italics_ and `code`"

次のように実行できます。

python pandoctest.py | pandoc --from markdown_github --to docx -o testdoc.docx

(印刷出力がMarkdownとして読み取られ、docxとしてtestdoc.docxに保存されることを示します。入力ファイルが指定されていない場合、Pandocはstdinから読み取ります)

これにより、次のような書式のWord文書が生成されます。

ここにbolditalicscodeがあります

Pandocには、PDF、さまざまなMarkdownフレーバーなどのオプションがたくさんあります。

0
patrick