conv=notrunc
を使用せずにファイルを切り捨てない、「dd」の代替案を知っている人はいますか? 。 conv=notrunc
を追加する スペースに限りがあるため、busybox/toyboxではサポートされていません。
たとえば、
に相当するものが欲しいですdd bs=4 count=3 skip=2 seek=3 if=file.in of=file.out conv=notrunc
しかし、それはdd
で機能します conv=notrunc
をサポートしていません 。
承認された回答:
標準の<>
を使用します sh
ファイルを読み取り+書き込みモードで切り捨てなしで開くリダイレクト演算子 。
cat < file.in 1<> file.out
file.in
のコンテンツをコピーするには file.out
の先頭 。
入力ファイルまたは出力ファイルを検索する必要があり、dd
を想定している場合 これらのディレクティブは引き続きサポートされます:
dd bs=4 count=3 skip=2 seek=3 < file.in 1<> file.out
dd
がない場合 まったく、head -c
を試すことができます 、バージョンが終了時にファイル内の適切な場所にポインタを残すことを処理すると仮定します(IIRCの古いバージョンのbusyboxは実行していませんでした)。
たとえば、上記に相当するものは次のようになります。
{
head -c 8 > /dev/null # seek input fd to offset 8
head -c 12 <&1 > /dev/null # seek output fd to offset 12
head -c 12 # copy 12 bytes
} < file.in 1<> file.out