
いつもお世話になっています。
perlで困っていることがあるので、質問させてください。
大容量のテキストファイルを指定バイトで改行したいのですが、
どういった方法があるのでしょうか。
具体的には100000バイト近くあるファイルを200バイトごとに区切りたいのです。syswriteで何とかなるのかな?と思って試行錯誤しているのですが、
ファイルの末尾に1個改行が入るだけで、思ったような挙動をしてくれません。
正直かなりこまっているので、何かヒントをいただけないでしょうか。
よろしくお願いいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
一行野郎で。
perl -i.bak -E 'BEGIN{$/=\200};while(<>){say $_}' 対象ファイル
マルチバイト文字の泣き別れなどはdon't careです。
5.10 頼前のバージョンであるなら、-E を -e に変え、say を
print $_, "\n" にしてください。
No.2
- 回答日時:
日本語だとして、
fold_pl
http://www.srekcah.org/~utashiro/perl/scripts/fo …
を使うのが普通です。
require 'fold.pl';
#???????????????略#
while (length($str)) {
(my $folded, $str) = fold($str, $bytes);
print $folded, "\n";
}
半角カタカナを含むとどうなるかはためとていません。処理前に半角カタカナ→全角カタカナの変換をしておく。
なお、使い方はリンクをご確認ください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 文字に半角が含まれて...
-
「一角」って何でしょうか
-
住宅にカナを入力する際に丁目...
-
.NET3.5におけるキーボードの「...
-
全角/半角キーをSendkeys関数で...
-
perl 初めてのプログラムにエラ...
-
VBで、String型のデータが、...
-
IEからEdgeへの移行に伴うIMEの...
-
掲示板で全角の英字はなぜいけ...
-
メモ帳の段落の揃え方
-
全角数字を半角数字にする方法
-
英数字のみ全角から半角に変換
-
char型全角数字から、int型半角...
-
全角スペースを削除するには?
-
COBOL・全角判定
-
全角入力
-
ダブルコーテーションの置換
-
エクセルの検索が正しくできな...
-
いまスマホからカードの申込み...
-
ASPで全角数字を半角数字にする...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
住宅にカナを入力する際に丁目...
-
VBA 文字に半角が含まれて...
-
IEからEdgeへの移行に伴うIMEの...
-
英数字のみ全角から半角に変換
-
全角英数字の必要性が理解できない
-
メモ帳の段落の揃え方
-
word差し込み印刷 半角カタカ...
-
COBOL・全角判定
-
エクセルにMicrosoft Barcode C...
-
VB.net、テキストボックス入力...
-
全角入力
-
封筒の宛先で縦書きの書き方
-
いまスマホからカードの申込み...
-
エクセルの検索が正しくできな...
-
Accessのテキストボックスの入...
-
VBで、String型のデータが、...
-
char型全角数字から、int型半角...
-
エクセルでの”々”の扱い
-
「一角」って何でしょうか
-
ログインする際のIDやパスワー...
おすすめ情報