PYTHON 3.4 LEFTOVERS

YBM ybmess at nooos.fr.invalid
Sat Nov 16 20:46:40 CET 2013


Le 16.11.2013 18:00, Nikos a écrit :
> Στις 16/11/2013 6:46 μμ, ο/η YBM έγραψε:
>> Le 16.11.2013 17:30, Ferrous Cranus a écrit :
>>> Mark wrote:
>>>
>>>> If you have to deliberately post like this in an attempt to annoy
>>>> people, would you please not do so using double spaced google crap as
>>>> it's very annoying, thank you in anticipation.
>>>
>>> Sure thing Mark, here:
>>>
>>> root at secure [~]# find / -name python3.4 | rm -rf
>>>
>>> root at secure [~]# locate python3.4
>>> /root/.local/lib/python3.4
>>> /usr/local/include/python3.4m
>>> /usr/local/lib/libpython3.4m.a
>>> /usr/local/lib/python3.4
>>> /usr/local/share/man/man1/python3.4.1
>>>
>>> still there!!!
>>
>> You are utterly stupid:
>>
>> 1st: rm does not read its standard input so doing
>> whatever | rm -fr is useless
>>
>> 2st: even if it had worked (i.e. removed the files) they
>> would still appear with locate, as locate is just reading
>> a database build every day by updatedb (using find btw)
>>
>> What you want to do can be done this way :
>>
>> find / -name python3.4 -exec rm -rf {} \;
>> updatedb
>> locate python3.4
>>
>> but you'd better go to hell first.
>>
>>
>>
>>
>>
>>
>
>
>
> Even if you told me to go to hell i will overcome that and i need to
> thank you because this indeed worked.
>
> Why is this find / -name python3.4 -exec rm -rf {} \;
>
> different from:
>
> find / -name python3.4 | rm -rf
>
> Doesn't any command take its input via STDIN or from a text file or from
> another's command output?

No. Not all UNIX commands are filters. rm is NOT a filter.

> If the above was true then wouldn't linux displayed an error when i issued:
>
> find / -name python3.4 | rm -rf
> locate python3.4 | rm -rf

Because you ask to suppress error output by adding -f

> The fact that it hasn't and it has indeed deleted many files proved that
> rm as an other linux command can take input from another's command output.

No, it does not prove that, it prove that -f does what it is supposed
to do, as you'd have done if you'd done "man rm" :

tv at roma:~$ echo a | rm
rm: missing operand
Try `rm --help' for more information.
tv at roma:~$ echo a | rm -f
bash: echo: write error: Broken pipe




More information about the Python-list mailing list