On 06/22/2013 09:42 AM, jida...@jidanni.org wrote:
> I thought it would do the obvious, like touch does.
>
>
> NAME
>touch - change file timestamps
>
> SYNOPSIS
>touch [OPTION]... FILE...
>
> DESCRIPTION
>Update the access and modification times of each FILE to the current
>time.
>
>A FILE argument that does not exist is created empty, unless -c or -h
>is supplied.
>
>
>
> NAME
>truncate - shrink or extend the size of a file to the specified size
>
> SYNOPSIS
>truncate OPTION... FILE...
>
> DESCRIPTION
>Shrink or extend the size of each FILE to the specified size
>
>A FILE argument that does not exist is created.
>
>
>
> Who would have guessed that for some reason an argument is required,
> I don't see why
> $ truncate FILE
> cannot just work too.
> You know, to truncate the file, to zero bytes.
> But hey I'm not a pro.
I remember discussing the interface at the time.
The thinking was that since data was destroyed here,
an explicit -s0 was required to avoid typos like:
truncate - s1M file
Behaving like you suggest would create '-' and 's1M'
and truncate 'file' without warning.
cheers,
Pádraig.