this post was submitted on 18 Aug 2024
35 points (94.9% liked)
Linux
5364 readers
256 users here now
A community for everything relating to the linux operating system
Also check out [email protected]
Original icon base courtesy of [email protected] and The GIMP
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I'm using "find . -name '*-FLAIR' -type d -ls -exec cp -lr -t ../../../media_links/ {} ; | grep 'Aug 18'" to make hardlinks for directories created on a certain date. However, I always get an error saying that it can't create hardlinks for a folder that doesn't even match the find criteria, while it works for the folders that I wanted. So, everything works, but I just wanna know why I'm getting that error. Any help? lmk if u need more info
Your
grep
is getting the output of find piped into it, so there's nothing in the find command itself (which has the-exec
in there) to filter it down so it applies to everythingfind
finds. You're filtering for 'Aug 18' afterfind
has already-exec
thecp -ltr
command.You probably want this:
Oh the files don't have the date in their names. Is -name still gonna work with 'Aug 18'? I'm parsing for the date shown by -ls.
Try swapping the positions of
-name ‘*-FLAIR’
and-type d
Perhaps you need to use -ctime parameter on find command.
That might be a lifesaver! I'll try it today. I also see there's a -cmin parameter which lets me be even more specific. Thanks