dd バイト範囲の削除

dd バイト範囲の削除

このファイルが与えられると

$ cat hello.txt
hello doge world

このタスクを終了するために一連のバイトを削除したいと思います。

$ cat hello.txt
heorld

可能であれば、このようにしたいと思いますdd。その理由は、ddこのようにバイトを上書きしたからです。

printf '\x5E' | dd conv=notrunc of=hello.txt bs=1 seek=$((0xE))

私は同じファイルに書き換えることを好みますが、他の出力ファイルも動作します。

ベストアンサー1

ブロックサイズ、数、およびスキップを指定する問題です。

$ cat hello.txt
hello doge world
$ { dd bs=1 count=2 ; dd skip=3 bs=1 count=1 ; dd skip=6 bs=1 ; } <hello.txt 2>/dev/null
he orld

上記は3回の呼び出しを使用しますdd。最初は最初の2文字を取得しますhe。 2番目は最後にジャンプしてhello次のスペースをコピーします。 3番目は最後の単語に移動し、world最初の文字を除くすべての文字をコピーします。

これは以下を使用して行われます。牛に似た一種の栄養ddしかし、BSDddそれも動作するはずです。

おすすめ記事