Jim Meyering wrote: > Paul Eggert <[EMAIL PROTECTED]> wrote: >> Jim Meyering <[EMAIL PROTECTED]> writes: >>> If you don't mind truncating first, how about this? >>> >>> true > /var/spool/whatever/foo >>> dd bs=1 seek=2G of=/var/spool/whatever/foo < /dev/null >> Also, the latter command works even if the former command is omitted. >> That is, by itself, that invocation of dd resizes >> /var/spool/whatever/foo to 2 GiB, discarding or extending the file as >> needed, which is what the original request asked for. > > Hi Paul, > > That depends on your definition of "works". > If you don't mind retaining the first 2GiB of content in > a preexisting output file, then it works fine. But the initial > truncation is required if you want to be sure it's a big sparse > file with nothing but NUL bytes. > > Try this: > > echo foo > k > dd bs=1 seek=2G of=k < /dev/null > head -c4 k > > and note that it prints "foo\n".
That's how I would expect it to work, and is how I'm currently implementing it. Given the name "truncate" I think this operation should be obvious to users. Pádraig. p.s. I'm going to push the "timeout" and "truncate" utils to util-linux-ng/misc-utils/ via Karel Zak within the next couple of days. _______________________________________________ Bug-coreutils mailing list Bug-coreutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-coreutils