Linuxでコマンドラインを操作しているときに、ファイルの内容を列形式で表示したい場合があります。幸いなことに、ファイルの内容を列形式で表示できるLinuxコマンドの列があります。非常にシンプルで使いやすいコマンドラインユーティリティです。
このコマンドラインユーティリティは、入力ファイルを複数の列に変換し、任意の区切り文字に基づいてコンテンツを列に変換できます。列コマンドは、列の前の行を埋めます。
今日は、列コマンドの基本と、コンテンツをフォーマットするための最も便利な方法でそれを使用する方法を見ていきます。この記事では、手順を説明するためにUbuntu18.04LTSを使用しています。
列コマンドの構文
columnコマンドの一般的な構文は次のとおりです。
$ 列[パラメータ][ファイル名]
[パラメータ]では、次のオプションを指定できます。
-s 区切り文字を指定します。
-c 出力は、1行で許可される合計文字数に基づいてフォーマットされます。
-t テーブルを作成します。デフォルトでは、スペースまたは–sオプションで指定された文字が区切り文字として使用されます
-x デフォルトでは、行は列の前に入力されますが、このパラメーターを使用すると、行を入力する前に列を入力できます
-n デフォルトでは、複数の区切り文字が1つの区切り文字としてマージされます。 –nパラメータを使用してこの動作を無効にできます。
-e デフォルトでは、空の行は無視されます。 –eパラメータを使用してこの動作を無効にできます。
列コマンドの使用法
たとえば、次の画像に示す内容のテストファイル名「test」を作成しました。ターミナルでcatコマンドを使用すると、ファイルを開かなくてもファイルの内容を表示できることに注意してください。
Ctrl + Alt + Tを押してターミナルを起動します タイプ:
$cat[ファイル名]
私のテストファイルは次のようになります:
columnコマンドが実際に何をするかを確認するには、 columnと入力します。 ファイル名が続く:
$列[ファイル名]
上記のコマンドを入力すると、このコマンドがファイルの内容を列に変換したことがわかります。
これは、Columnコマンドの最も簡単な説明でした。ここで、このコマンドの使用法をさらにいくつか見ていきます。
カスタム区切り文字または区切り文字の使用
[列]コマンドでカスタムセパレータを使用して、コンテンツを新しい列に分割するタイミングを指示できます。
下の画像に示すようなコンテンツを含むテストファイルを使用しています。カンマで区切られたデータが含まれています。
使用– t コンテンツを表形式で表示するためのパラメーター。デフォルトでは、区切り文字としてスペースを使用します。
特定の区切り文字に基づいてコンテンツを区切るには、– sを使用します 以下のコマンド構文に示すように、パラメーターの後に特定の区切り文字または区切り文字が続きます。
$ column-t[-sセパレータ][ファイル名]
-nパラメータを使用して複数の区切り文字を追加します
デフォルトでは、columnコマンドは複数の隣接するセパレーターを単一のセパレーターにマージします。たとえば、次の画像に示すように、複数の隣接する区切り文字を持つコンテンツを含むサンプルファイルがあります。
列コマンドは、複数のセパレーターを単一のセパレーターと見なし、以下のように出力を表示します
– nを追加する オプションはこの動作を無効にします。次の構文でコマンドを実行します。
$列[-n][-t][-sセパレータ][ファイル名]
最初の2つの列の間にスペースがあることに気付くでしょう。これは、隣接するセパレーターが1つのセパレーターにマージされていないことを意味します。
-eパラメータを使用して空の行を追加します
デフォルトでは、columnコマンドは空の行を無視します。これらの空の行を列に含める場合は、– eを使用します パラメータ。
たとえば、次のサンプルファイルには、空の行がいくつか含まれています。
columnコマンドを使用しましたが、columnコマンドに空の行が含まれていないことがわかります。
columnコマンドでその空の行を出力に含めるには、次の構文でコマンドを使用します。
$列[-e][-t][-sセパレータ][ファイル名]
これで、columnコマンドの出力に空の行が含まれていることがわかります。
-xパラメータを使用して行の前に列を入力します
Columnコマンドは、最初に行を埋めてから、一部のファイルには不適切な可能性のある列を埋めることによって、コンテンツを列に変換します。ただし、この動作を変更して、行を埋める前に列を埋めることができます。明確に理解するには、以下の例を参照してください。
この例では、いくつかのコンテンツを含む「xyz」という名前のテストファイルがあります。私のテストファイルは次のようになります:
[列]コマンドを使用すると、次のような出力が表示されます。ただし、これは上記の種類のファイルには適していません。
このために、– xを使用します パラメータ。列に続けて– xと入力します とファイル名。
$列[-x][ファイル名]
これで、この出力が上記のサンプルファイルに適した形式になっていることがわかります。
-cパラメータを使用して表示幅を変更する
コマンド出力の表示幅を広げることができます。 – cを使用して行の幅を指定します 列コマンドのパラメーター。この例では、以下に示すようなコンテンツを含む「xyz」という名前のファイルがあります。
columnコマンドだけを使用すると、次のような出力が表示されます。
表示の幅を変更するには、commandに続けて– cと入力します。 パラメータ。表示の幅を狭くするために、次の構文でコマンドを入力しました:
$列[-c文字][ファイル名]
ディスプレイの幅を広げるために、下の画像に示すようにコマンドを入力しました:
これで、ディスプレイの幅が広がったことがわかります。
列化された出力を保存する
Columnコマンドを使用して実行したフォーマット済み出力を保存するには、ターミナルで以下のコマンドを使用できます。コマンドの構文は次のようになります:
$ 列[パラメータ][ファイル名1]>ファイル名2
今のところ、それがすべてだ。この記事で説明する列コマンドの基本的でありながら役立つ例を通して、コマンドを完全に把握し、それを使用してコンテンツをフォーマットすることができます。それ以外の場合は、手動で行う必要があります。