Find, regular expression, anyway to simplify this find command?
Hello everyone,
first post here, trying to learn scripting on my own and this forum as been really helpful so far. I made few little scripts working great but I m facing some problems with RE.
I have a bunch of files in many subdirectories called *001.ext *002.ext OR simple *.ext or *01.ext *02.ext And I want to use the find command to only show files *.ext or *01.ext or *001.ext without showing *101.ext *98.ext etc
So the output I want should only show files named like this :
I ve tried many ways for this but I only managed to get it working through the following painful command :
Is there anyway to simplify this? I m not used to regular expressions but I m sure there must be a cleaner, simpler command for this. I tried to find answers on different websites about how regular expressions work but in this case it's giving me a headache
For now I m using this command to process my result through "find -exec" it works great but kinda restrictive. Idealy when I ll manage to, I ll export the result from find in a file (find blabla > test.txt) and then make a loop processing each line from test.txt and assign different variables to line 1, then execute a specific command and then process line 2 until there is no more lines to process.
But right now I just want to simplify this find command if anyone got better idea?
I think you want this
But you should understand
1) that *.ext matches every file with .ext extension and *01.ext matches *201.ext, etc.
2) that file globing and regular expressions are different things.
Problem with Yazu's solution is that i can't use -exec to my find command if I | egrep.
So I made it go through a | while read line loop but i noticed some files were missing aswell.
And binlib it's not working no
Gotta use globing if i want to be able to use -exec
I want to show any file called *.ext OR *part001.ext OR *part01.ext
and not show *part[0-9][2-9].txt AND NOT *part[0-9][0-9[2-9].ext
Kinda tricky
For now i got a shitty work arround => basicly processing some files manually
I was experimenting different regexes and accidentally left out the escapes of the parentheses (or you can add -regextype with the type of your favorite regexes.)
This will match b.ext, b01.ext, b001.ext and b0001.ext, etc. If you don't want to match beyond 001, then change to
and
gave me nothing
How do you check the default regextype? and what regextype is being used in your code?
I made many .ext files named randomly to test it out and no success but that's exactly what i need. gonna try arround to test arround if i can get it working.
Edit : Couldn't get it working. I m running this on my NAS which is limited to sh shell (and ash which I didn't really check out yet...) i tried to change regextype but it's not recognized.
Gonna try to install bash and other stuff.
Grumpf...
I have files:
sum_<INPUT FILENAME>.YYYYMMDDhhmmss.csv
and
sum_details_<INPUT FILENAME>.YYYYMMDDhhmmss.csv
I have no idea, what is input filename, but in the code I would like to catch them in case
I process them in the loop above case statement
for *.${Today}.*.txt... (3 Replies)
Hi Gurus,
I need to identify the file with below format:
ABC20110101.DAT
ABCD2011010103.DAT
If I use ABC*\.DAT, it get two file. I want to get file after "ABC' then number, the ".DAT".
I tried
ABC* but it doesn't work.
Thanks in advance. (9 Replies)
Hello all,
I need to print directories using find command. The directories names contain date in the format YYYYMMDD or the name of directory is only the date format. I want print directories, which doesn't start with this date.
E.g I have dirs like
foo20120101
foo20120101foo
20120101foo... (1 Reply)
Hi all
I have a list of file names in array. But this file names are not exact. so i want to search whether a file exists or not using regular expression.
code snippet:
if ;
then
echo "File exists"
else
echo "File does not exits"
fi
over here "*EQST*" should be treated as a regular... (4 Replies)
Hello,
I am trying to use regex wtih find command in KSH. For some reason it is not working as expected.
Input:
comm_000_abc_0102.c
comm_000_abc.c
456_000_abc_1212.cpp
456_000_abc_.cpp
Expected Output:
comm_000_abc_0102.c
kkm_000_abc_8888.cpp
(Basically I want to find all... (6 Replies)
Hi, I would like to use find command to find file with a predefined extension
for example find . modules/*.ksh *.lib
I thought it's possible to use something like :
find . modules/*. but it does not work. is there any other way?
Thanks you (2 Replies)
Hi,
in the cobol copy books is there any regular expressions to be used in awk to fetch the length of each columns?
below mentioned are the examples.
Copy Book Sample
01 tablename.
02 group header.
03 col1 s9(10)V99.
03 Col2 s9(10)V9(3).
03 Col3 XXXX
02... (7 Replies)
I'm trying to math all class references in a C++ file using grep with regular expression. I'm trying to know if a specific include is usuless or not, so I have to know if there is a refence in cpp.
I wrote this RE that searches for a reference from class ABCZ, but unfortunately it isn't working... (0 Replies)
I suspect this is commonly done, but haven't found the right combination of search terms to find the answer.
I want to grep for lines in .cpp files that contain only 1 '=' sign in an if statement. e.g.,
if (a = b) -- find this
if (a==b) -- don't find this
My attempt:
egrep... (7 Replies)
Hi,
I want to find the files available in a directory /var/user/*/*/data/.
I tried using the command "find /var/user/ -path '*/*/data/ -name '*' -type f" it says find: 0652-017 -path is not a valid option and then i tried using "find /var/user/ -name '*/*/data/*' -type f" but its not... (3 Replies)