[過去ログ]
Perlについての質問箱 64箱目 (1002レス)
Perlについての質問箱 64箱目 http://mevius.5ch.net/test/read.cgi/tech/1548981877/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
534: 532 [sage] 2020/07/24(金) 23:40:56.85 ID:Z8MDOpZc この辺調べてやってくだされぃ https://www.google.co.jp/search?q=perl+binary+file+update+open+seek+unpack http://mevius.5ch.net/test/read.cgi/tech/1548981877/534
535: 532 [sage] 2020/07/24(金) 23:45:28.89 ID:Z8MDOpZc 先生ッ、便利そうなモジュール見つけました! https://metacpan.org/pod/File::Binary http://mevius.5ch.net/test/read.cgi/tech/1548981877/535
536: デフォルトの名無しさん [] 2020/07/24(金) 23:46:10.28 ID:JRbdBOQM >>530 検証に時間がかかってしまって返信遅くなりました できました!! ありがとうございました! 推察の通りコマンドプロンプトでのエラーでした 本命のLinux(Ubuntu)の端末上からも書き換え成功しました 感謝です ほかの皆様もありがとうございました 不愉快に感じた方も多かったと思います ごめんなさい ここで「進捗状況表示(%)をさせるにはどうしたらいいですか?」とか聞くと嫌われることは、僕もいい大人なので知っています http://mevius.5ch.net/test/read.cgi/tech/1548981877/536
537: デフォルトの名無しさん [] 2020/07/24(金) 23:48:59.17 ID:JRbdBOQM >>532 親切にありがとうございます http://mevius.5ch.net/test/read.cgi/tech/1548981877/537
538: デフォルトの名無しさん [sage] 2020/07/25(土) 00:54:10.29 ID:uhXYZAuD 進捗状況を表示させるには、最初にファイルサイズを取得する。 そして、データを書き換えるたびに、現在のseek 番地を取得して、 現在のseek 番地 × 100 / ファイルサイズ 例えば、300 × 100 / 1,000 = 30 % http://mevius.5ch.net/test/read.cgi/tech/1548981877/538
539: デフォルトの名無しさん [sage] 2020/07/25(土) 01:23:46.28 ID:c7rlqrmm >>538 レスありがとうございます 本当にうれしいのですがド素人なので理解出来ないのです >>530のコマンドラインに絡めるかスクリプトにしていただけると卒倒するほど喜びます これを機会にperlを勉強したいと(心から)思いますが、今の段階ではこんな図々しいお願いをするしか出来ません http://mevius.5ch.net/test/read.cgi/tech/1548981877/539
540: デフォルトの名無しさん [sage] 2020/07/25(土) 02:26:21.46 ID:GJL3/5bG もうええやろ? http://mevius.5ch.net/test/read.cgi/tech/1548981877/540
541: デフォルトの名無しさん [sage] 2020/07/26(日) 01:36:51.87 ID:5SabrGL+ >>539 死ねよ http://mevius.5ch.net/test/read.cgi/tech/1548981877/541
542: デフォルトの名無しさん [sage] 2020/07/26(日) 02:35:47.46 ID:T0U3lDAz 勉強する気はなしか やれやれ http://mevius.5ch.net/test/read.cgi/tech/1548981877/542
543: デフォルトの名無しさん [sage] 2020/07/26(日) 08:04:49.79 ID:faz+YmuJ 進捗表示は、計算自体は簡単だけど、ちゃんと見えるように表示するのが ちょっと面倒なんだよな http://mevius.5ch.net/test/read.cgi/tech/1548981877/543
544: デフォルトの名無しさん [sage] 2020/07/26(日) 10:44:31.12 ID:KWzmTFSY 好きなのを使えばいいよ。 https://metacpan.org/search?q=progress+bar http://mevius.5ch.net/test/read.cgi/tech/1548981877/544
545: デフォルトの名無しさん [sage] 2020/07/26(日) 11:13:19.32 ID:faz+YmuJ そんなもんがいちいちあるのか まあ、凝ったことをするなら共通化はするだろうけど 凝ったことしなくても、どういう頻度で表示するかとかの調整は必要で、 UI特有の機能と関係ない面倒臭さの部分なんだよな http://mevius.5ch.net/test/read.cgi/tech/1548981877/545
546: デフォルトの名無しさん [sage] 2020/07/26(日) 13:26:52.37 ID:y3z4IjvW ターミナルの機能を使いきるなら面倒だろうけど、ただ垂れ流すだけなら簡単やろ。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/546
547: デフォルトの名無しさん [] 2020/07/26(日) 18:32:06.33 ID:hRZi6+cn >>512 最適化するとすると手順はこんな感じかな。 1. 0x1c バイト読んでそのまま書く。 2. 1バイト読む。読めなかったら 5 へ。読んだ内容が 0x40 なら 0x00 に変えて書く。0x40 でなければそのまま書く。 3. 最大 0x7fff バイト読み、読めたデータをそのまま書く。 4. 2へ。 5. 終わり。 STDIN から読んで STDOUT で書くならこうなる。 read(STDIN, $buf, 0x1c); print $buf; while (read(STDIN, $buf, 1)) { print $buf eq "\x40" ? "\x00" : $buf; read(STDIN, $buf, 0x7fff); print $buf; } http://mevius.5ch.net/test/read.cgi/tech/1548981877/547
548: デフォルトの名無しさん [] 2020/07/27(月) 00:36:57.42 ID:Y15FmTu1 >>530さんからの頂き物に、ファイルサイズを取得。。。まではできました(訳:パクれました みなさんありがとう し、進捗。。。 ---------------------------------------------------------------- open F, "+< ファイル名"; binmode F; my $filename = "ファイル名"; my $filesize = -s $filename; print "$filenameのサイズは$filesizeです。\n"; while ($l = read F, $_, 0x8000) { substr $_, 0x1c, 1, "\0"; seek F, -$l, 1; print F } http://mevius.5ch.net/test/read.cgi/tech/1548981877/548
549: デフォルトの名無しさん [] 2020/07/27(月) 01:28:37.03 ID:KvYX/iYh >>548 いい加減にしろ http://mevius.5ch.net/test/read.cgi/tech/1548981877/549
550: デフォルトの名無しさん [sage] 2020/07/27(月) 07:32:32.55 ID:X6EMHfht readして変更しないところまでprintするのは無駄なのに 無駄を省けば進捗表示がいらないくらい高速化するだろうに http://mevius.5ch.net/test/read.cgi/tech/1548981877/550
551: デフォルトの名無しさん [sage] 2020/07/27(月) 09:23:37.46 ID:HYhflFVx コピーを作っておいて、そのコピーの一部だけ変更して書き戻せば一瞬 信頼性が上がったら、コピーは作らずにオリジナルを変更する http://mevius.5ch.net/test/read.cgi/tech/1548981877/551
552: デフォルトの名無しさん [sage] 2020/07/27(月) 10:25:37.74 ID:URSuW3yQ >>550 ファイルサイズがGBレベルなら、そんなに速くはならんやろ。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/552
553: デフォルトの名無しさん [sage] 2020/07/27(月) 17:35:52.14 ID:X6EMHfht ていうか >>548 は >>530 を参考にしてるのになんで遅い方を使ってるんだ http://mevius.5ch.net/test/read.cgi/tech/1548981877/553
554: デフォルトの名無しさん [] 2020/07/27(月) 18:21:31.29 ID:Y15FmTu1 呼ばれた気がしたので 約10分のデータ(1.3GB)で比較しました readあり real 1m34.485s user 0m0.888s sys 0m6.100s readなし real 1m5.851s user 0m0.340s sys 0m3.563s USB2.0()でUbuntuにマウントさせた外付けHDD上のデータを直接書き換えています 特殊なフォーマットなのでWindowsでは認識できないのです http://mevius.5ch.net/test/read.cgi/tech/1548981877/554
555: デフォルトの名無しさん [] 2020/07/27(月) 19:14:13.61 ID:KvYX/iYh DRM解除の片棒担ぐ人達かね http://mevius.5ch.net/test/read.cgi/tech/1548981877/555
556: デフォルトの名無しさん [sage] 2020/07/27(月) 19:33:35.94 ID:HYhflFVx なんて大層なDRMだ http://mevius.5ch.net/test/read.cgi/tech/1548981877/556
557: デフォルトの名無しさん [] 2020/07/27(月) 19:46:48.42 ID:Y15FmTu1 残念ながら暗号化解除まではされないんです 別の機器にコピーしようとしても「コピープロテクトがなんちゃら。。」と、ちゃんとハネられます 機器内の制限を緩くするためのオフホワイトな作業です http://mevius.5ch.net/test/read.cgi/tech/1548981877/557
558: デフォルトの名無しさん [] 2020/07/27(月) 20:24:22.40 ID:2I3xUck9 頭悪くてプログラムしかできなかった大企業CEO一覧 http://re-file.com/18k/1677/ http://mevius.5ch.net/test/read.cgi/tech/1548981877/558
559: デフォルトの名無しさん [sage] 2020/07/27(月) 22:09:54.28 ID:P2Gsimd7 研究目的なら、犯罪の意思がないから、無罪だろ http://mevius.5ch.net/test/read.cgi/tech/1548981877/559
560: デフォルトの名無しさん [sage] 2020/07/27(月) 23:21:16.44 ID:Z4OWIfz1 >>559 理由は関係ないはず 秘匿目的で暗号化されているものを解読することそのものが犯罪 http://mevius.5ch.net/test/read.cgi/tech/1548981877/560
561: デフォルトの名無しさん [sage] 2020/07/27(月) 23:23:00.46 ID:Dzov2n68 >>560 そんな事みんな知ってるよ http://mevius.5ch.net/test/read.cgi/tech/1548981877/561
562: デフォルトの名無しさん [sage] 2020/07/27(月) 23:33:36.72 ID:Dzov2n68 法律に詳しいオレってカッコいいだろう? http://mevius.5ch.net/test/read.cgi/tech/1548981877/562
563: デフォルトの名無しさん [] 2020/07/28(火) 00:29:51.31 ID:cSYuj1Eq >>557 お前は裁判になって負けたら責任全部背負うのか? http://mevius.5ch.net/test/read.cgi/tech/1548981877/563
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 439 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.011s