Linuxでコマンドラインを操作しているときに、ファイル内のタブをスペースに置き換える必要がある場合があります。ファイルが小さければ作業は難しくありませんが、扱っているファイルが巨大な場合、またはさらに悪いことに、この変更を行う必要のあるファイルが何百もある場合はどうでしょうか。
心配しないでください、この作業のために特別に構築されたコマンドラインツールがあります。問題のツールは拡張です 、およびこのチュートリアルでは、わかりやすい例を使用して、拡張の基本について説明します。ただし、その前に、ここに記載されているすべてのコマンドと手順がUbuntu16.04LTSでテストされていることを共有する価値があります。
Linux拡張 コマンド
拡張 すでに述べたように、コマンドを使用すると、タブをスペースに変換できます。コマンドの構文は次のとおりです。
expand [OPTION]... [FILE]...を展開します
ツールのマニュアルページでの定義は次のとおりです。
Convert tabs in each FILE to spaces, writing to standard output. With no FILE, or when FILE is -,
read standard input.
次のQ&Aスタイルの例は、拡張がどのように拡張されるかについてのより良いアイデアを提供するはずです。 コマンドは機能します。
Q1。 Expandを使用してタブをスペースに変換する方法 コマンド?
Expandの基本的な使用法 非常に簡単です。ツールの引数として(タブを含む)ファイルの名前を渡します。
例:
expand file1
それでおしまい。このツールは、タブではなくスペースのみを変更して、ファイルのコンテンツを出力に生成します。複数のファイルでこのような変更を行う場合は、入力ですべてのファイル名を渡すだけで、タブが一度にすべてのファイルのスペースに変換されることに注意してください。
もちろん、リダイレクト演算子を使用して、出力を他のファイルに簡単に転送できます。
expand file1>file2
Q2。 拡張の制限方法 最初のタブのみに影響しますか?
場合によっては、行の前にあるタブのみを変換し、空白以外の後に表示されるタブのままにしておきたい場合があります。 拡張 コマンドを使用すると、これも実行できます。ただし、 -iを使用する必要があります。 コマンドラインオプション。
expand -i file1
Q3。タブが変換されるスペースの数を微調整するにはどうすればよいですか?
デフォルトでは、拡張 タブを対応する数のスペースに変換します。ただし、必要に応じて、 -tを使用してスペースの数を微調整できます。 コマンドラインオプション。このオプションでは、新しいスペースの数を入力する必要があります。
たとえば、この場合、タブはデフォルトで4つのスペースに変換されます。したがって、これらのスペースを1に減らすために、次のコマンドを使用しました。
expand -t1 file1
このツールへの入力としてファイルが渡されない場合、またはファイル名としてハイフン'-'を渡す場合、入力コンテンツは標準入力(STDIN)から読み取られることに注意してください。
exapnd コマンドは限られた機能のセットを提供しますが、ツールが非常に特定の目的のために作成されていることを考えると、それが提供するオプションは十分すぎるほどです。読んだことは何でも練習するだけで、すぐにツールを使用できるようになります。興味のある方は、こちらからコマンドのマニュアルページにアクセスできます。