I think that GNU find -regex has implicit ^$ anchors, so the .* at both ends are needed. { } or \{ \}, if implemented at all, is not needed here.
Traditional Unix find needs
This User Gave Thanks to MadeInGermany For This Post:
Escapes the {-parentheses and thus makes them part of the name. I want to use them to specify how many of the numbers should be in the file name and you have omitted the - sign (that might be a mistake though.
I.e they will match:
But not
----
Has also forgot the - sign but, again, this might just be a mistake, but this regexp does find
but it will not find
I want it to find 1 or more numbers after the - sign.
I want to match anything-1to3numbers.anything
The - sign has to be there, after the - sign there has to be 1-3 numbers and then a . and after the . anything.
I just cannot get it to work
The -regex option with a find that supports it is BRE regex, which means that the curly braces will need to be escaped with a backslash otherwise it means a literal brace..
There was a closing brace too many in my example (one escaped, one unescaped). Corrected it in my post..
But that will match any occurrence of 1 or more numbers before the dot. To only match 1-3 numbers there needs to be another "anchor" before the numbers:
Try:
to specify that the number is preceded with a dash, or
to specify that the number is preceded by a character other than a number..
Last edited by Scrutinizer; 09-20-2014 at 05:36 AM..
I apologize Scrutinizer, I didn't know that.
But it still dosn't work?!?
gives me zero results I am running this in /bin/bash under cygwin.
I also tried the exact same command in /bin/bash under Ubuntu, same thing - doesn't work.
Tried tcsh under Ubuntu, same thing - doesn't work.
CSH same thing - doesn't work.
I apologize for my rude answer since I really thought the \{ was the culprit and made the expression fail. But it has to be something else.
I have also tried to swap out the 1,3 to 1..3 and 1.3 to check the perl notation inside {} but that doesn't work either.
Strange, I get :
Hold on, the above is on OSX with BSD find.
On Linux it does not work (just tested it)...
OK ON Linux it is GNU find an there the default regex type is emacs
EDIT: this seems to work on Linux:
Apparently the default "emacs" does not support the brace repetition operator, so it will probably be modeled after an old version of emacs..
So the -regextype option is required to change from the default regex type..
I personally never use regex with find, since it is not standardized..
--
EDIT: With the emacs default of GNU find this works:
But that does not work with BSD find (unless the -E extended regex option is specified)..
Last edited by Scrutinizer; 09-18-2014 at 11:47 AM..
This User Gave Thanks to Scrutinizer For This Post:
I would like find and delete old backup files in aix. How would I go about doing this? For example:
server1_1-20-2020
server1_1-21-2020
server1_1-22-2020
server1_1-23-2020
server2_1-20-2020
server2_1-21-2020
server2_1-22-2020
server2_1-23-2020
How would I go about finding and... (3 Replies)
I have tried the following code and with that i couldnt achieve what i want.
#!/usr/bin/bash
find ./ -type f \( -iname "*.xml" \) | sort -n > fileList
sed -i '/\.\/fileList/d' fileList
NAMEOFTHISFILE=$(echo $0|sed -e 's/\/()$*.^|/\\&/g')
sed -i "/$NAMEOFTHISFILE/d"... (2 Replies)
Hi champs,
I have one of the requirement, where I need to compare two files line by line and ignore duplicates. Note, I hav files in sorted order.
I have tried using the comm command, but its not working for my scenario.
Input file1
srv1..development..employee..empname,empid,empdesg... (1 Reply)
Hi !
I wonder if anyone can help on this : I have a directory: /xyz that has the following files:
chsLog.107.20130603.gz
chsLog.115.20130603
chsLog.111.20130603.gz
chsLog.107.20130603
chsLog.115.20130603.gz
As you ca see there are two files that are the same but only with a minor... (10 Replies)
Hi!
I want to find duplicate files (criteria: file size) in my download folder.
I try it like this:
find /Users/frodo/Downloads \! -type d -exec du {} \; | sort > /Users/frodo/Desktop/duplicates_1.txt;
cut -f 1 /Users/frodo/Desktop/duplicates_1.txt | uniq -d | grep -hif -... (9 Replies)
I need a perl script which will create an output file after comparing two diff file in a directory path:
/export/home/abc/file1
/export/home/abc/file2
File Format: <IP>TAB<DeviceName><TAB>DESCRIPTIONS
file1:
10.1.2.1.3<tab>abc123def<tab>xyz.mm1.ppp.... (2 Replies)