chraebsli to Programmer Humor@programming.dev • 9 months agoTouch a file in Linuxprogramming.devimagemessage-square95fedilinkarrow-up11.2Karrow-down131
arrow-up11.17Karrow-down1imageTouch a file in Linuxprogramming.devchraebsli to Programmer Humor@programming.dev • 9 months agomessage-square95fedilink
minus-square@48954246@lemmy.worldlinkfedilinkEnglish21•edit-29 months agoFeels dangerous to run. What happens if the file already exists and has something important in it? touch -a is probably better
minus-square@gaterush@lemmy.worldlinkfedilink9•9 months agoThe other command could just be printf '' >> file to not overwrite it. Or even simpler >>file and then interrupt
minus-square@owsei@programming.devlinkfedilink10•9 months agoor :>>file then you don’t need to interrupt
minus-square@4am@lemm.eelinkfedilink6•9 months ago.“:>>” is “append null” right? Do you get a file with a single ASCII NUL or is it truly empty?
minus-squareTrailblazing Braille Taserlinkfedilink14•9 months agoNot really. I believe : is the “true” builtin. So it’s like running a program that exits with zero and writes nothing to stdout. The >> streams the empty stdout into the named file.
minus-square@al177link4•edit-29 months ago$ :|wc -c 0 $ touch /tmp/f; :>>/tmp/f; wc -c /tmp/f 0 /tmp/f
minus-square@gaterush@lemmy.worldlinkfedilink3•9 months agothat’s awesome, did not know about that handy operator!
minus-square@owsei@programming.devlinkfedilink3•9 months agoYeah! it’s basically a noop, I use it as a placeholder when I’m writing a script, since bash doesn’t accept code blocks with no commands
I guess printf “” > file
Feels dangerous to run. What happens if the file already exists and has something important in it?
touch -a
is probably betterThe other command could just be
printf '' >> file
to not overwrite it. Or even simpler>>file
and then interruptor
:>>file
then you don’t need to interrupt.“:>>” is “append null” right? Do you get a file with a single ASCII NUL or is it truly empty?
Not really. I believe : is the “true” builtin. So it’s like running a program that exits with zero and writes nothing to stdout. The >> streams the empty stdout into the named file.
$ :|wc -c 0 $ touch /tmp/f; :>>/tmp/f; wc -c /tmp/f 0 /tmp/f
that’s awesome, did not know about that handy operator!
Yeah!
it’s basically a noop, I use it as a placeholder when I’m writing a script, since bash doesn’t accept code blocks with no commands