Re: The rename command…
Johnny Rosenberg
gurus.knugum at gmail.com
Tue Aug 26 15:22:46 UTC 2008
2008/8/26 Rashkae <ubuntu at tigershaunt.com>
> Johnny Rosenberg wrote:
> > 2008/8/26 Johnny Rosenberg <gurus.knugum at gmail.com>
> >
> >> 2008/8/25 Ulf Rompe <Ulf.Rompe at icem.com>
> >>
> >>> Sorry all for the previous, empty post.
> >>>
> >>> On Mo, 2008-08-25 at 16:00 +0200, Johnny Rosenberg wrote:
> >>>> Since there is a serious bug in Nautilus, that adds the very
> >>>> unnecessary text "Link to " to a link created with Ctrl+Shift
> >>>> +Drag&Drop,
> >>> I don't think it's a serious bug. I would call it bad design. :-)
> >>>
> >>>> rename -v 's/Link to //' *
> >>>>
> >>>> However, there doesn't seem to be an option for recursivity built in
> >>>> to that command. I am not good with scripts, but I am sure there is a
> >>>> way around that.
> >>> find . -type l -print0 | xargs -0 rename -v 's/Link to //'
> >>>
> >>> [x] ulf
> >>>
> >>> Tack så mycket! Har inte testat än, men det ser ut som en vettigare
> >> lösning än den jag lyckades komma fram till via vild sökning på
> nätet:
> >> find . -name "Länk till "* -exec rename -v "s/Länk till //" {} \;
> >> My guess is that your solution might be a bit faster. IN my solution,
> both
> >> find and rename look for the same thing, kind of…
> >> As everyone can see, I'm a bash beginner but I learn all the time. I
> think
> >> that my new knowledge of xargs will make me able to do things that I
> >> couldn't before! Thanks again!
> >> J.R.
> >>
> > Ooops, sorry for the Swedish line there. For a strange reason I changed
> to
> > English after that, I don't really know why… here's the translation for
> the
> > first line anyway:
> >
> > Thanks! haven't tried it yet, but it makes more sense than the solution I
> > came up with after some wild searching on the web:
> >
> > find… and so on.
> >
> > By the way, after some more thinking, I combined your solution with mine
> and
> > came up with the following:
> >
> > find . -type l -exec rename -v "s/Länk till //" {} \;
> >
> > This way it's all done without piping, at least that is what it looks
> like.
> > It would be interesting to hear from you (and others) about advantages
> and
> > disadvantages with this line compared to other ideas. The only advantage
> I
> > can think of is that it's less to type, but I will make an alias for it
> > anyway, so that doesn't matter much, more than my alias file will be a
> few
> > bytes smaller…
> >
> > Anf I didn't try my last suggestion yet, maybe it doesn't work… ha ha
> ha
> >
>
> That should work.. I can't remember if I also had to esape the { }
> characters in bash, or just the ;....
>
> However, the command would be much more efficient if find was only
> returning filenames that start with "Link To", they way your command
> runs now, *every* file gets passed to rename. This would work, but is
> wasteful, since rename then fires up perl and run a regexp that will
> only fail.
> find . -type l -name "Link to*" -exec rename -v "s/Länk till //" {} \;
>
That is just about the same as my first idea, (except that I had -name but
not -type) after collecting as much info as possible from the web.
However, someone told me today that this will work (I write this one in
English since something on the way between me you guys doesn't use UTF-8, so
the Swedish characters gets "distorted" anyway):
find . -type l -exec rename -v "s/Link to //" {} +
The + seems to make find -exec work like find | xargs, sort of.
But to sum this up, I guess that the following would be a good combination
of all ideas so far:
find . -type l -name "Link to *" -exec rename -v "s/Link to //" {} +
On the other hand, I can probably assume that everything that can be found
that's not a link, does not start with "Link to " anyway, so in most cases
the type -l is very unnecessary…
In that case, that makes this the best solution, I'd guess:
find . -name "Link to *" -exec rename -v "s/Link to //" {} +
(same as your suggestion, but with "+" instead of "\;".
There also seems to be a -execdir option, but I didn't understand exactly
when or why I'd use it (I sometimes have some minor difficulties
understanding English in manuals etc).
J.R.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/ubuntu-users/attachments/20080826/23d37aea/attachment.html>
More information about the ubuntu-users
mailing list