#navi(../)
* 指定した文字数(byte)で改行する・fold [#td757096]
指定した文字数(byte数)で折り返す(改行)には、foldコマンドを使用すると便利です。~
#contents
#htmlinsert(linux_ads_top.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コマンドを使って指定した文字数で改行する方法でした。
//#htmlinsert(linux_ads_btm.html)