emahiro/b.log

日々の勉強の記録とか育児の記録とか。

txtar コマンドで Go のファイルをテキストファイルにアーカイブする

pkg.go.dev

Go のファイルを text ファイルにアーカイブするコマンドが純正で用意されているということを教えてもらって初めて知りました。

以下のように使うと指定したディレクトリ配下の Go のファイルをすべて任意のファイル形式でにアーカイブ出力してくれます。(なおその逆も可能です。)

例えばテキスト形式でアーカイブしたいときは以下のようにします。

# 出力をスキップする
$ txtar ./*.go > ./sample.txt < /dev/null

# echo で空文字を stdin にパイプで渡す
$ echo "" | txtar ./*.go > ./sample.txt

回答するときは --extract(-x) オプションを利用します。

$ txtar -x <./sample.txt

Go のファイルに限らずあるディレクトリすべてのファイルをアーカイブ出力するときは

$ echo "" | txtar ./*.*

というようにすれば良いです。出力結果をパイプで繋いで pbcopy 等に渡せば LLM へのコピペもはかどりますね。