Linux 行ごとに指定したバイト数で折り返す

Linux 行ごとに指定したバイト数で折り返す

Linuxで、行ごとに指定したバイト数で折り返す手順を記述してます。

環境

  • OS Rocky Linux release 8.5 (Green Obsidian)
  • shell: /bin/bash

手順

行ごとに指定したバイト数で折り返すには、「fold」を使用します。
実際に、以下の「hoge.txt」を5バイトで折り返して表示してみます。

$ cat hoge.txt

1234567890
abcdefghij
123456789012345

5バイトごとに折り返してみます。

$ fold -b5 hoge.txt

12345
67890
abcde
fghij
12345
67890
12345

折り返して表示されていることが確認できます。

日本語の場合

以下のように、日本語のファイル「foo.txt」で実行すると以下のような結果になってしまいます。

$ cat foo.txt

あいうえおかきくけ

日本語で同様のことをしたい場合は「jfold」を使用します。
※Rocky Linux 最新版のnode.jsをインストールはこちら

npmでインストールします。

$ npm install -g jfold

「jfold」を使用すると、以下のように表示することが可能です。

$ cat foo.txt | jfold -w 5

あいうえお
かきくけこ