Episode: 4389
Title: HPR4389: Comments on hpr4373
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr4389/hpr4389.mp3
Transcribed: 2025-10-26 00:06:20

---

This is Hacker Public Radio Episode 4389 for Thursday the 29th of May 2025.
Today's show is entitled, Comments on HBR 4373.
It is hosted by Rowan, and is about 7 minutes long.
It carries a clean flag.
The summary is Rowan gives comments on Oxo's HBR Episode 4373.
Hi, welcome to another episode of Hacker Public Radio.
Today I'm going to be giving a response or comment on Alex O's HBR Episode 4373.
Our sink was standard in its source.
I thought that was a great episode.
It has been a while since I've used our sink on a regular basis to do any kind of backup or mirroring of data.
I used to do a good bit of that in the late 90s or early 2000s, maybe up to mid 2000s.
And as I think Paul Jay pointed out, our sink can figure out the differences.
If you got a lot of files, at least then it could take a while.
And I think using FIND like this, particularly if you have a set like a timeframe or some other specific feature that FIND has to find your files that you want to backup or mirror.
Whatever you want to do with them using our sink, I really find that was an interesting use of it.
I kind of wish I'd thought about it back then. FIND of course.
I love it now, but it definitely is one of those ones that's kind of, I don't know, always found FIND funky to just get your head around and figure out how to do exactly what you wanted to do.
Thankfully, you know, the internet gives you a lot of examples to find things.
Which sort of brings me to what my comment was because I found it interesting that it seemed like OXO hadn't really used the print 0 function before.
And that's actually one of the first things I learned to use when I was using FIND.
Because then that lets you pipe it to other commands, not only R-Sync, I just never thought to use it for R-Sync.
I think my biggest use has always been, you know, you find, particularly if you want to like change the mood, like change mod of a bunch of files in a recursive, you know, direct and a tree structure, it's very easy to say like FIND.Type, you know, F.
And then, you know, I'll find, you know, your path, whatever, type F as print 0 and then you can pipe it to change mod and give it the change mod and then you just the files get changed.
And if you have to change like the directories to something else, you can do that.
So that was where I really learned the print 0 feature.
Although I did, and this is one of those things I think I just was like, how do I do this? I found it on the internet, and it was always suggested that you do the FIND print 0, but then you pipe it to a command XR's.
And then it was always XR's dash 0. And I never really looked too deep into XR's. Why am I doing this?
But basically, it's like FIND, directory path, that, you know, type F, dash type F, pipe XR's.0, dash 0, and then you just give it the command and so change mod 777.
And then it would just pipe all those files it found to through the pipe to XR's and then to the change mod or whatever other program.
So I just, I think for me, that's what struck out is like I always just found it funny. It sounds like he was very familiar with FIND, but I guess it just always used it as sort of like an advanced LS and not to actually pipe it to other things.
Or maybe you could just pipe it a lot of the commands you're using, you just piped and they worked without needing the dash print 0.
But that was the biggest thing that struck me, I guess, was not having used print 0, which for me it was like that's the first thing I pretty much I learned to do with FIND,
driving right after just listing things. And then it does seem like I started looking into XR's and I found a pretty good right up on it on how to geek.
It's called how to use the XR's command on Linux, and I guess basically the takeaway is from the first line of that article need to string some Linux commands together.
One of them doesn't accept piped input XR's is the command for you.
So the XR's command is used to build execution pipelines using the standard data streams. In other words, you can use XR's in the output of one command to another command as a perimeter.
So basically for commands, I guess like RM in particular is one of the examples they give doesn't take input from the command line like that.
So this would let you do that. Like I said, I've always used it a lot with like change mod or change when I'm looking to change a bunch of files or or just directories so you can target them specifically.
If you look at the XR's, let's see, command options, let me find the man page.
So the command page dash zero that that's the command I always use or dash dash null input items are terminated by a null character instead of by white space.
And the quotes and backslash are not special. Every character is taken literally disables the end of file string, which is treated like any other argument useful when input items might contain white space, quote marks or backslashes.
And this calls out the new find and from issue eight, posit dash print zero option produces input suitable for this mode. So that is why I guess people were when I first saw this suggested using XR's dash zero because then it matches lines up with the fine dash print zero command.
So anyways, I think it actually looks like you probably do a whole episode on XR's, which will save for another day or maybe it's a good one for someone else to do in the hacker public community.
But anyway, so that was my character. I just thought it was interesting, oh, XO had never really used the dash print zero unless I'm completely misunderstanding what he was saying there.
And I just was funny how we all sort of run in similar paths, but they all might diverge and how some people just know that little trick you just never thought to do or never ran across and how that little nugget of information might be in the back of your head and it's good to have an episode on it so that other people can share your experiences.
So hopefully this is short and sweet and everyone is enjoying this episode of Hacker Public Radio.
You have been listening to Hacker Public Radio at Hacker Public Radio.
Today's show was contributed by a HBR listener like yourself. If you ever thought of recording podcasts, click on our contribute link to find out how easy it really is.
Hosting for HBR has been kindly provided by an honesthost.com, the internet archive and our syncs.net.
On the Sadois status, today's show is released under Creative Commons Attribution 4.0 International License.
