#navi(../)
* 指定した文字数(byte)で改行する・fold [#td757096]
指定した文字数(byte数)で折り返す(改行)には、foldコマンドを使用すると便利です。~

#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)

* 関連記事 [#s5cc5632]
-[[固定長文字列データをCSVに変換する・sed>逆引きUNIXコマンド/固定長文字列データをCSVに変換する・sed]]
-[[英小文字・英大文字を変換する・tr>逆引きUNIXコマンド/英小文字・英大文字を変換する・tr]]
-[[テキストから改行を削除する>逆引きUNIXコマンド/テキストから改行を削除する]]
-[[改行コードを変更したい>逆引きUNIXコマンド/改行コードを変更したい]]

* foldコマンドで指定した文字数で改行してみる [#j8a41254]
以下の構文で指定した文字数(byteですが)で改行することができます。~
 fold -b 文字数 ファイル名
または
 cat ファイル名 | fold -b文字数
以下に実行例を記します。

-使用したテキストファイル
#ref(fold.txt)
 12345678901234567890
 abcdefghijklmnopqrstuvwxyz
 ABCDEFGHIJKLMNOPQRSTUVWXYZ
 !"#$%&'()=~
 123
 ABCD

-実行例
10文字(10バイト)で改行(折り返し)してみます。
 $ fold -b10 fold.txt 
 1234567890
 1234567890
 abcdefghij
 klmnopqrst
 uvwxyz
 ABCDEFGHIJ
 KLMNOPQRST
 UVWXYZ
 !"#$%&'()=
 ~
 123
 ABCD
上記のように10文字を超した行は10文字で改行されているのが確認できます。~

-改行を無視し指定した文字数で改行する
改行を無視して、10文字ごとに改行したい場合は tr を使用すればよいでしょう。~
以下に実行例を記します。
 sakura@stream:~/wk$ cat fold.txt | tr -d "\n" | fold -b10
 1234567890
 1234567890
 abcdefghij
 klmnopqrst
 uvwxyzABCD
 EFGHIJKLMN
 OPQRSTUVWX
 YZ!"#$%&'(
 )=~123ABCDsakura@stream:~/wk$ 
trコマンドで改行を削除したあと、パイプにてfoldにテキストを渡しています。

以上、foldコマンドを使って指定した文字数で改行する方法でした。

#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS