\s does match any white space and is very different than /s. In my
example this is what everything means
rename 's/:/-/' * 0 12345678 9
0 - name of program
1 - the following should be interpreted literally by the shell
2 - we are going to do a regular expression search and replace
3 - Regular expression start character (you can actually change this to
any character you like in your regular expression is going to contain
slashes (/), but stick with / to begin with.
4 - The search pattern that will be searching for, in this case a colon
5 - the seperator beween the search and replace
6 - the pattern that we will be replacing our search matched with, in
this case a -
7 - the end our of regular expression
8 - stop interpreting everything literally
There are options that you can add after the last / that can make your
regular expression case insensitive (i) or make it work more than once
on the same line (g)...etc.etc.. but there aren't any in this case as
they aren't needed.
9 - this star is now shell globing and makes the command operate on all
the files in the current directory. In your case it would probably be
better to do *:* so that it only touches files with a : in their names,
so that you limit the damage if you get something wrong.
I'm sure that's now as clear as mud. :)
Brian Cluff
On 01/30/2016 12:26 PM, Michael wrote:
you know... the reason I was doubting that page is because it says
that \s matches any white space and in the example that worked:
rename 's/:/-/' *
looks to me as if it is saying to search for a blank space followed by
a colon and then (i guess) the next forward slash tells it to replace
it with a dash. Then the final '\' closes the statement and that too
is a tatement surrounded by apostrapheses.
Is that right?
On Sat, Jan 30, 2016 at 2:09 PM, Brian Cluff <[email protected]
<mailto:[email protected]>> wrote:
Regular expressions is a pretty big topic. It's not super easy
like globing (like the * you've been using in bash) which you can
get the idea from the 544 page book (
http://www.amazon.com/Mastering-Regular-Expressions-Jeffrey-Friedl/dp/0596528124/
) that can be bought on regular expressions. The equivalent book
on globing would be a pamphlet.
That being said, the basics aren't too hard to learn, but you have
to keep in mind that they are fairly different, and don't always
act like what you would think.
There are a ton of howtos out there and they take a lot of
different approaches to explaining thing, I would just search
google for them until you find one that speaks to you.
Brian Cluff
On 01/30/2016 11:54 AM, Michael wrote:
thank you Brian. Does anyone happen to know of a perl regexr
list. I found one but am not sure if it is right:
http://www.cs.tut.fi/~jkorpela/perl/regexp.html
<http://www.cs.tut.fi/%7Ejkorpela/perl/regexp.html>
On Sat, Jan 30, 2016 at 11:43 AM, Brian Cluff <[email protected]
<mailto:[email protected]>> wrote:
You can't rename files that way. The * on the command line
gets turned into real file names by bash before they are ever
given to the mv command so you are tell the command line to
consist of any files with a : followed by any files with an =
or -.
At best your command will error out, at worst it will
overwrite an existing file.
What you are needing is a program that can take a pattern and
rename files with a different pattern. There are 2 that I've
used, mmv and rename. Of the 2, you probably have rename on
your system already since it gets pulled in with PERL. If
not, just install the rename package.
With rename all you have to do is:
rename 's/:/-/' *
That will use a regular expression to change all the files in
the current directory that contain a : in their name to the
same name with a - replacing the :.
Be very very careful with the rename command, it can and will
clobber every file that it touches before you know it just
because you got a single character out of place.
When in doubt add the -n option so that it will tell you what
it's going to do without actually doing it. Then if
everything looks good, run the command again without the -n
to actually make the changes.
Brian Cluff
On 01/30/2016 08:29 AM, Michael wrote:
I'm sure that will fix it but what am I doing wrong in my
attempts to rename them?
$ mv *:* *=*
mv: target ‘*=*’ is not a directory
$ mv *:* *-*
mv: target ‘darktable-1:9Download’ is not a directory
$ mv *:* ./*-*
mv: target ‘./darktable-1:9Download’ is not a directory
On Sat, Jan 30, 2016 at 10:29 AM, Matt Graham
<[email protected] <mailto:[email protected]>> wrote:
On Fri, Jan 29, 2016 at 6:45 PM, Michael
<[email protected] <mailto:[email protected]>> wrote:
the filesystem is probably FAT because it is a thumb
drive....
rsync: mkstemp
"/media/bmike1/RedSanDisk/Documents/Education/Darktable/.darktable-1:10WaterLilyEdit.CccL3o"
failed: Invalid argument (22)
It is not possible to have a ':' character in a filename
on a FAT-based filesystem. This is because that
character was used to denote which disk drive a file was
on back in the DOS days... "C:\junk\stuff.txt" and so forth.
I am not sure what these hidden files contain, or
whether they're actually important. You can pass the
"--exclude *\:*" option to rsync to tell it to not try
to transfer files that contain ':' characters, which may
help.
--
Crow202 Blog: http://crow202.org/wordpress
There is no Darkness in Eternity
But only Light too dim for us to see.
---------------------------------------------------
PLUG-discuss mailing list -
[email protected]
<mailto:[email protected]>
To subscribe, unsubscribe, or to change your mail settings:
http://lists.phxlinux.org/mailman/listinfo/plug-discuss
--
:-)~MIKE~(-:
---------------------------------------------------
PLUG-discuss mailing list [email protected]
<mailto:[email protected]>
To subscribe, unsubscribe, or to change your mail settings:
http://lists.phxlinux.org/mailman/listinfo/plug-discuss
---------------------------------------------------
PLUG-discuss mailing list - [email protected]
<mailto:[email protected]>
To subscribe, unsubscribe, or to change your mail settings:
http://lists.phxlinux.org/mailman/listinfo/plug-discuss
--
:-)~MIKE~(-:
---------------------------------------------------
PLUG-discuss mailing list [email protected]
<mailto:[email protected]>
To subscribe, unsubscribe, or to change your mail settings:
http://lists.phxlinux.org/mailman/listinfo/plug-discuss
---------------------------------------------------
PLUG-discuss mailing list - [email protected]
<mailto:[email protected]>
To subscribe, unsubscribe, or to change your mail settings:
http://lists.phxlinux.org/mailman/listinfo/plug-discuss
--
:-)~MIKE~(-:
---------------------------------------------------
PLUG-discuss mailing list - [email protected]
To subscribe, unsubscribe, or to change your mail settings:
http://lists.phxlinux.org/mailman/listinfo/plug-discuss
---------------------------------------------------
PLUG-discuss mailing list - [email protected]
To subscribe, unsubscribe, or to change your mail settings:
http://lists.phxlinux.org/mailman/listinfo/plug-discuss