BashでTXTテンプレートスクリプトを作成して作業を効率化する方法
ターミナルで毎日同じようなテキストを作成しているなら、.txtテンプレート用のスクリプトを作成して、作業を簡略化し時間を節約してみませんか?この記事では、Bashを使ったテキストテンプレートスクリプトの作り方を、初心者にもわかりやすく解説します。興味が湧いたら、ターミナルを開いて、お好みのテキストエディタを準備し、さっそく始めましょう。
新しいテンプレートスクリプトを作成する
まずは、お好きな方法で新しいBashスクリプトを作成します。ここでは、ターミナル上でnanoエディタを使用し、ホームディレクトリ内の「Scripts」フォルダに「MTE_template.sh」という名前のファイルを作成します。
nano MTE_template.sh
パラメータを定義する
作成したファイルをお好みのエディタで開きます。ファイルの先頭には、Bashスクリプトであることを定義するお決まりの記述(シバン)を入力します。
#!/bin/sh
コードを見やすく整理するために、コメント行で見出しを付けておくと良いでしょう。以降のセクションで定義するのは、テンプレートに差し込むためのパラメータ群です。テンプレートスクリプトが完成すれば、これらのパラメータに値を渡すことで、テキストへ自動的に反映できるようになります。
ここでは「Our parameters(パラメータ)」という見出しをコメント行として入力します。
#Our parameters
次に、「SITE」「AUTHOR」「CONTACT」の3つのパラメータを、番号付き変数にマッピングして定義します。
SITE=$1 AUTHOR=$2 CONTACT=$3
$1や$2といった番号付き変数は、スクリプト実行時に渡される引数に対応します。同じ要領で、別のパラメータやさらに多くのパラメータを自由に定義できます。
テンプレート本体を作成する
パラメータの準備ができたら、いよいよテキストテンプレート本体を作成します。
これまでと同様に、まずはコメント行で見出しを付けます。
#Template
テンプレート部分には以下のような構造を追加します。
- テンプレート全体を2つの行で挟み込みます。
- 最初の行は
cat << EOFです。これは「EOFが現れるまで、続くすべての内容(つまり実際のテンプレート)をひとまとめの入力として扱う」という意味になります。 - 2行目は
EOFです。この合言葉によってcatコマンドの読み込みループが終了し、テンプレートが完結します。
cat << EOF Welcome to a Bash-generated TXT template for $SITE. Created by $AUTHOR. Contact me at $CONTACT. EOF
より実用的なテンプレートとしては、メール形式もおすすめです。「$NAME」や「$TASK」といったパラメータを定義しておけば、次のようなビジネスメールのテンプレートが簡単に作れます。
cat << EOF Hello $NAME, I just wanted to get back to you regarding $TASK. Would you be so kind as to update me on any changes? Best regards, My Name EOF
編集が完了したら、保存(Ctrl + O)して、nanoを終了(Ctrl + X)します。
続いて、次のコマンドでスクリプトに実行権限を付与します。
chmod u+x MTE_template.sh
これで、スクリプト名を直接入力して新しいドキュメントを作成できるようになりました。
テスト実行してみる
定義したパラメータを指定してスクリプトを実行します。テスト実行の例は以下の通りです。
./MTE_template.sh Make_Tech_Easier Ody mymail@mailserver.com
最初の部分はスクリプト名、続いて第1引数の「Make_Tech_Easier」、第2引数の「Ody」、第3引数の「mymail@mailserver.com」となっています。
なお、ここでは複数の単語をひとまとめにするためにアンダースコア(_)を使用しました。スペース区切りで渡したい場合は、引用符で囲んでください(例:「Make Tech Easier」)。
リダイレクトでドキュメントを作成する
スクリプトの準備が整えば、リダイレクト機能の力を借りて、テンプレートから新しいドキュメントを生成できます。
やり方はシンプルです。テスト実行時と同じようにパラメータを指定して実行した後、> path/to/file/filename.txt を追加入力するだけです。今回の例では、コマンドは次のようになります。
./MTE_template.sh Make_Tech_Easier Ody mymail@mailserver.com > /home/ducklord/Documents/new_MTE_note.txt
こうすることで、テンプレートの出力結果がターミナルではなく、指定したファイルへ書き出されます。実際の出力結果は下の画像をご覧ください。
難しそうに見えて、実はとても簡単
一見複雑に感じるかもしれませんが、手順どおりに進めれば実に簡単です。同じテンプレートからテキストを頻繁に作成する必要がある方にとって、特に大きな時短効果があります。たとえば、定型メールや製品情報ページなど、同じ文章やフレーズが繰り返し登場する文書の作成を自動化できます。
さらに一歩進みたい方は、追加の学習をして、この手法をコード生成用テンプレートにも応用してみましょう。たとえば、サイト全体のHTMLファイル構造をワンコマンドで生成したり、起動時にBashスクリプトをroot権限で実行したりする仕組みの構築にも役立ちます。
-
Vimで新規シェルスクリプトに自動でカスタムヘッダーを挿入するテンプレート設定方法
この記事では、Vimエディタで新しく作成するすべてのbashスクリプトに、カスタムヘッダーを自動的に挿入するための簡単な設定方法を紹介します。この設定を行うことで、vi/vimエディタで新しい .sh ファイルを開くたびに、カスタムヘッダーが自動的にファイルの先頭へ追加されるようになります。 bashスクリプト用カスタムヘッダーテンプレートファイルの作成方法 まずは、カスタムbashスクリプトヘッダーの内容を記述したテンプレートファイル sh_header.temp を作成します。ホームディレクトリ配下の ~/.vim/ ディレクトリなどに保存しておくと管理しやすいでしょう。 $ vi ~/.
-
Googleスプレッドシートのテンプレートを作成・活用する方法を徹底解説
家計簿、請求書、カレンダーなど、スプレッドシートを効率よく作りたいなら、テンプレートの活用が欠かせません。テンプレートは、GoogleスプレッドシートやGoogleドキュメントを素早く作成するための最も便利な方法の一つです。Microsoft Excelを使ったことがある方なら、テンプレートを掲載したサイトを簡単に見つけられることはご存じでしょう。では、Googleスプレッドシートの場合はどうでしょうか。「Googleスプレッドシートにもテンプレートはあるのか?」と疑問に思う方は多いはずです。Google検索では表示される情報が限られているため、選択肢が少ないと感じてしまうかもしれません。しか