特定の幅に収まるようにコマンドの出力を折りたたんだり分割したりしたい状況に陥ったことがありますか? VM、特にGUIのないサーバーを実行しているときに、この状況に何度か遭遇しました。念のため、コマンドの出力を特定の幅に制限したい場合は、どこにも目を向けないでください。 折り畳みを使用するだけです 指図! foldコマンドは、入力ファイルの各行を指定された幅に合わせて折り返し、標準出力に出力します。
この簡単なチュートリアルでは、実際の例を使用してfoldコマンドの使用法を確認します。
例を含むFoldコマンドチュートリアル
FoldコマンドはGNUcoreutilsパッケージの一部なので、インストールについては気にしないでください。
foldコマンドの一般的な構文:
fold [OPTION]... [FILE]...
いくつかの例を紹介しますので、foldコマンドについてより良いアイデアを得ることができます。 linux.txtという名前のファイルがあります ランダムな線がいくつかあります。
上記のファイルの各行をデフォルトの幅に折り返すには、次のコマンドを実行します。
$ fold linux.txt
80 1行あたりの列数がデフォルトの幅です。上記のコマンドの出力は次のとおりです。
上記の出力からわかるように、foldコマンドは出力を80文字の幅に制限しています。
もちろん、以下のように、好みの幅、たとえば50を指定できます。
$ fold -w50 linux.txt
サンプル出力は次のようになります:
以下に示すように、出力を表示するだけでなく、出力を新しいファイルに書き込むこともできます。
$ fold -w50 linux.txt > linux1.txt
上記のコマンドは、 linux.txtの行を折り返します 50文字の幅に変換し、出力を linux1.txtという名前の新しいファイルに書き込みます 。
新しいファイルの内容を確認しましょう:
$ cat linux1.txt
前のコマンドの出力に注意深く気づきましたか?一部の単語は行間で区切られています。この問題を解決するために、'-s'を使用できます。 スペースで行を分割するフラグ。
次のコマンドは、指定されたファイルの各行を幅「50」に折り返し、スペースで行を区切ります。
$ fold -w50 -s linux.txt
サンプル出力:
見る?これで、出力は非常に明確になりました。このコマンドは、スペースで区切られた各単語を新しい行に配置し、長さが50を超える単語を折り返します。
上記のすべての例では、出力幅を列ごとに制限しました。ただし、 -b を使用して、出力の幅を指定されたバイト数に強制することができます。 オプション。次のコマンドは、出力を20バイトで分割します。
$ fold -b20 linux.txt
サンプル出力:
詳細については、manページを参照してください。
$ man fold