Linux, コマンド · 1 min read · Sep 15, 2025

初心者のためのLinux expandコマンドチュートリアル(例付き)

Linuxのコマンドラインで作業していると、ファイル内のタブをスペースに置き換える必要が生じることがあります。ファイルが小さい場合は難しくありませんが、扱っているファイルが巨大であったり、さらに悪いことに、変更を加えなければならないファイルが何百もある場合はどうでしょうか?

心配しないでください。この作業のために特別に作られたコマンドラインツールがあります。そのツールはexpandであり、このチュートリアルでは、いくつかのわかりやすい例を用いてexpandの基本を説明します。しかし、その前に、ここで言及されているすべてのコマンドと指示は、Ubuntu 16.04LTSでテストされていることを共有する価値があります。

Linux expand コマンド

expandコマンドは、前述のように、タブをスペースに変換します。以下がコマンドの構文です:

expand [OPTION]... [FILE]...

ツールのmanページは次のように定義しています:

各FILE内のタブをスペースに変換し、標準出力に書き込みます。FILEが指定されていない場合、またはFILEが-の場合、標準入力を読み取ります。

以下のQ&Aスタイルの例は、expandコマンドがどのように機能するかをより良く理解するのに役立つでしょう。

Q1. expandコマンドを使用してタブをスペースに変換するには?

expandの基本的な使用法は非常に簡単です:タブを含むファイルの名前をツールの引数として渡します。

例えば:

expand file1

それだけです。ツールはファイルの内容を出力し、変更点はタブの代わりにスペースだけです。複数のファイルでそのような変更を行いたい場合は、すべてのファイル名を入力として渡すだけで、すべてのファイルのタブが一度にスペースに変換されます。

もちろん、リダイレクション演算子を使用して出力を別のファイルに簡単に転送できます。

expand file1>file2

Q2. expandの影響を初期のタブのみに制限するには?

時々、行の前にあるタブのみを変換し、空白以外の後に現れるタブはそのままにしておきたい場合があります。expandコマンドはこれも可能ですが、-iコマンドラインオプションを使用する必要があります。

expand -i file1

Q3. タブが変換されるスペースの数を調整するには?

デフォルトでは、expandはタブを対応する数のスペースに変換します。しかし、必要に応じて、-tコマンドラインオプションを使用してスペースの数を調整できます。このオプションでは、新しいスペースの数を入力する必要があります。

例えば、私たちの場合、タブはデフォルトで4つのスペースに変換されます。したがって、これらのスペースを1に減らすために、次のコマンドを使用しました:

expand -t1 file1

このツールに入力としてファイルが渡されない場合、またはファイル名としてハイフン’-‘を渡すと、入力内容は標準入力(STDIN)から読み取られます。

結論

expandコマンドは限られた機能セットを提供しますが、このツールは非常に特定の目的のために作成されているため、提供されるオプションは十分です。読んだことを練習すれば、すぐにツールを使用できるようになるでしょう。興味のある方は、こちらからコマンドのmanページにアクセスできます。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。