問題タブ [dd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
590 参照

unix - dd コマンド - cbs を決定する方法

EBCDIC 形式の入力ファイルがあります。ファイルにいくつのレコードがあるかわかりません。その場合、ASCII に変換したい場合、ibs、obs、および cbs は何になりますか?

0 投票する
2 に答える
605 参照

c - dd の速度に到達できません

いくつかのリアルタイムの制約がある C コードを書いています。dd を使用してディスクに書き込める速度をテストしました。

dd if=/dev/zero of=/dev/sdb bs=32K count=32768 oflag=direct

これにより、32K ブロック サイズで 1GB のゼロが /dev/sdb に書き込まれます。

これで約103 MB /秒に達します

今、私はプログラムで似たようなことをします:

タイムスタンプ値を 32K バッファから /dev/sdb に 10,000 回 (for ループで) 書き込みます。別のタイムスタンプ値を取得し、MB/s で速度を取得するために少し計算を行います。約 49 MB/s です。

dd と同じ速度に達しないのはなぜですか? strace は、私が使用するのと同じ open コマンドを明らかにします。

0 投票する
2 に答える
578 参照

assembly - nasmでのddコマンドの説明

私はosdevwikiを読んでいます。私はこれらの2行のコードに出くわしました。

最初の行は理解できますが、2番目の行は理解できません。2行目は何をしますか?このddコマンドは何ですか?ここのこの/dev/ fd0は何ですか?誰かが私にこれを説明してもらえますか?前もって感謝します。

0 投票する
1 に答える
1338 参照

c++ - パイプを使用してddコマンドの出力を読み取る際の問題

ddコマンドの出力(進行状況情報)をC ++プログラムにリダイレクトしたいアプリケーションを開発していますが、実際には出力を取得していません。コードは次のとおりです。

しかし、問題は、で進行状況情報が受信されずbuff、出力が端末に継続的に出力され、上記のプログラムがで停止しwhile(fgets(buff, sizeof(buff),progressInfo)!=NULL)、操作が完了するとすぐに、ddループブロックの次の行が実行されることです。

出力がバフに戻されず、端末で継続的に再調整される理由を誰かが知っている場合はどうなりますか?

0 投票する
4 に答える
6605 参照

macos - Mac OS X Bash で /dev/diskNsM サイズを取得

デバイスのサイズをバイト単位で取得するにはどうすればよいですか?

Mac OS X 10.6 では、これを使用しています:

そしてそれはうまくいきます。しかし、Mac OS X 10.4 では、出力は次のようになります。

(40013180928 Bytes) (正確には 78150744 512-Byte-Blocks) のようなものはありません

私の bash スクリプトは diskutil 出力を解析し、合計サイズをバイト単位で抽出し、ddコマンドでディスクの最後の 10 Mb を取得するため、10.4 では機能しません...

別の方法でサイズをバイト単位で取得するにはどうすればよいですか?

0 投票する
1 に答える
148 参照

bash - 大容量ディスクの dd

dd が正常に機能するディスク/パーティションの最大サイズはどれくらいですか?

0 投票する
5 に答える
208067 参照

linux - dd:最適なブロックサイズを計算する方法は?

を実行するときに最適なブロックサイズをどのように計算しますddか?私はそれを少し調べましたが、これがどのように達成されるかを示唆するものは何も見つかりませんでした。

ブロックサイズが大きいほど速くなるという印象を受けていますdd...これは本当ですか?

dd4GB DDR31333mhzRAMを搭載したIntelCorei3を実行しているボックスで7200rpmで実行される2台の同一の500gb日立HDDを使用しているので、使用するブロックサイズを把握しようとしています。(フラッシュドライブからUbuntu 10.10 x86を起動し、そこから実行します。)

0 投票する
1 に答える
1124 参照

c# - C# Html Agility Pack dd および dt タグの解析問題

このフィールドを解析しようとしていますが、うまくいきません。現在の試行:

HTML:

私のコード:

タグから内部テキストのみを解析する必要があります<dd>が、例外が発生します: NullReferenceException, Object reference not set to an instance of an object.

SelectNodes私はforeachループを試してみました-同じ話です。このエラーから私を助けてください。

0 投票する
6 に答える
121225 参照

bash - grep を使用してファイル内の 16 進文字列を検索する

私はこれを機能させるために一日中努力してきました。ファイル内の16進文字列のオフセットを取得するためにgrepなどを取得する方法を知っている人はいますか?

文字列を確認してから再度実行し、値が変更されたかどうかを確認する必要がある 16 進ダンプがたくさんあります。

hexdump と dd を試しましたが、問題はストリームであるためです。ファイルのオフセットが失われます。

誰かがこの問題と回避策を持っていたに違いありません。私に何ができる?

明確にするために、GDB からダンプされた一連のメモリ領域があります。

数値が格納されているすべての場所を検索して数値を絞り込もうとしています。それからもう一度やり直して、新しい値が同じメモリ位置に格納されているかどうかを確認します。

私は16進値を探しているので、grepで何もすることができません。そのため、何度も試してみましたが(大まかに何十兆回も)、正しい出力が得られません。

16 進数のダンプは完全なバイナリ ファイルにすぎません。バイト?

パターンは、私が認識している行をラップしていません。私はそれが何に変わるかを認識しており、同じプロセスを実行してリストを比較して、どれが一致するかを確認できます。通常、16 進ダンプは (合計で) 100 メガ程度になります。

Perl も選択肢の 1 つかもしれませんが、現時点では、bash とそのツールに関する知識が不足していることが主な原因であると思います。

実際には出力が得られないため、得られる出力を説明するのは少し難しい..

私は次のようなことを期待しています (そして期待しています):

これは、私が通常取得するかなり標準的な出力ですgrep -URbFo <searchterm> . > <output>

問題は、16 進数値を検索しようとすると、16 進数値を検索しないと問題が発生することです。そのため、00 を検索すると、100 万件のヒットが得られるはずです。テキストとして 00 の場合、16 進数では 3030 です。何かアイデアはありますか?

私はhexdumpまたはリンクの何かを介してそれを強制することができますが、ストリームであるため、一致が見つかったオフセットとファイル名を提供しません.

オプションを使用しgrep -bても機能しないようです。状況に役立つと思われるすべてのフラグを試しましたが、何も機能しませんでした。

例として使用xxd -u /usr/bin/xxdすると、役立つ出力が得られますが、それを検索に使用することはできません..

素晴らしい出力、私が見たいものですが、この状況ではうまくいきません..

これは、これを投稿してから試したことの一部です。

0 投票する
1 に答える
648 参照

perl - ibs/obs を使用した dd 速度の問題

dd を使用してストリームをディスクにコピーするループがあります。速度上の理由から、プロセス全体で「bs」を使用してより大きなブロックサイズを使用しています。ただし、ある特定の行では、'ibs' と 'obs' を使用する必要があります。これは、'seek' の場所が、他の場所で使用する 'bs' の倍数ではないためです。

私の質問は: dd または他のプログラム/Perl モジュールを使用して、「シーク」に使用されるものとは異なるブロックサイズを書き出す方法はありますか?

上記のように、生データは 1M ブロックで読み取られますが、バイト単位の粒度に基づいて特定の場所をシークする必要があるため、1 バイト セグメントで書き出す必要があります。これにより、書き込み速度が 1/100 になります。

回避策はありますか? または、dd を使用せずに Perl でこれを行う方法はありますか?

ありがとう、

ニック