Sponsored Content
Full Discussion: Finding Files By Name
Top Forums Shell Programming and Scripting Finding Files By Name Post 302512495 by alister on Sunday 10th of April 2011 03:33:00 PM
Old 04-10-2011
Code:
#!/bin/sh

printf '%s' 'Begin searching at (enter timestamp in YYMMDDHHMMSS format): ' >&2
read ts1
printf '%s' 'Stop searching at (enter timestamp in YYMMDDHHMMSS format): ' >&2
read ts2

for f in *.raw; do
        ts=${f%.raw}
        ts=${ts##*[!0-9]}
        expr X$ts \>= X$ts1 \& X$ts \<= X$ts2 >/dev/null && printf '%s\n' "$f"
done

Prompts are written to stderr. Should you choose, you can redirect them to /dev/null, feed the timestamps from a file or a pipe, and use the script in a pipeline.

Not knowing which shell you're using, I chose to use the incredibly cumbersome expr utility. While its syntax clashes with the shell, requiring lots of quoting, it's widely available. Depending on your shell, it could possibly be replaced with test/[. The X's are there to force string comparison, since on some platform integers may not be large enough.

Assumption: The portion of the filename that precedes the timestamp never ends with a decimal digit.

Regards,
Alister

Last edited by alister; 04-10-2011 at 05:56 PM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

finding files

I need to write a script that will find all of the files in my current directory that contain a html extension that contains a URL with my user ID as a command line argument and have yhe script display the names of the files selected along with a count of the files found. I'm totally lost ???? Any... (4 Replies)
Discussion started by: jseiple
4 Replies

2. Solaris

finding files

Hi, I am trying to find all files ending in a particular file extension, ie all files ending with .pdf find / -name *.pdf But this doesnt seem to work, ie it doesnt find the files, is there a better way of doing this? I am using solaris 9 (4 Replies)
Discussion started by: frustrated1
4 Replies

3. Shell Programming and Scripting

finding duplicate files by size and finding pattern matching and its count

Hi, I have a challenging task,in which i have to find the duplicate files by its name and size,then i need to take anyone of the file.Then i need to open the file and find for more than one pattern and count of that pattern. Note:These are the samples of two files,but i can have more... (2 Replies)
Discussion started by: jerome Sukumar
2 Replies

4. Shell Programming and Scripting

Help with finding files

Ok, here it is: I have a system that logs certain files every day. Every time a new day dawns, the system will create a folder with the name that is respective to the day's date (12-06-07) and start putting new files in that folder. I have another system that needs these files. I am going to:... (1 Reply)
Discussion started by: bbbngowc
1 Replies

5. Shell Programming and Scripting

Finding files

Hello guys, Please your help, i need to find all the files writed in the last 5 minutes, but without create another file using touch (like im doing right now): I am doing this: anio=`date +%Y` mes=`date +%m` dia=`date +%d` hora=`date +%H` minuto2=`date +%M` minuto=`expr... (1 Reply)
Discussion started by: lestat_ecuador
1 Replies

6. Shell Programming and Scripting

finding files

Hi guys just wondering if there is a way to scan the whoel file system and find files that have not been used over a number of days, using the script (5 Replies)
Discussion started by: musicmancanora
5 Replies

7. Shell Programming and Scripting

finding in files

hi, can we re-write the following command in a way so that we dont need to use and external commands ( grep ) to save calls to fork() and exec()... find . -name "*.mk" | xargs grep -i libSplitMove.a thanks Vivek (1 Reply)
Discussion started by: vivek.gkp
1 Replies

8. Shell Programming and Scripting

Need Help in Finding Files ::

Hi All , i am in progress of creating a script which should find a file a.txt , in a particular root directory . This should actually Search all the Sub directories and copy those files and FTP it to a server . Need a Input how to Proceed on this Thankyou guys (6 Replies)
Discussion started by: raghav1982
6 Replies

9. Shell Programming and Scripting

need help for finding files

Hi, I am trying to find two files in a if condition to do a task Please find below the script that i have built while read line do filename = $line if && ]; then cp /tmp/$filename.dat /sftp/$filename.dat else cat $filename "no trg file associated" >>... (4 Replies)
Discussion started by: ramkiran77
4 Replies

10. Shell Programming and Scripting

Finding files with wc -l results = 1 then moving the files to another folder

Hi guys can you please help me with a script to find files with one row/1 line of content then move the file to another directory my script below runs but nothing happens to the files....Alternatively Ca I get a script to find the *.csv files with "wc -1" results = 1 then create a list of those... (5 Replies)
Discussion started by: Dj Moi
5 Replies
expr(1B)					     SunOS/BSD Compatibility Package Commands						  expr(1B)

NAME
expr - evaluate arguments as a logical, arithmetic, or string expression SYNOPSIS
/usr/ucb/expr argument... DESCRIPTION
The expr utility evaluates expressions as specified by its arguments. After evaluation, the result is written on the standard output. Each token of the expression is a separate argument, so terms of the expression must be separated by blanks. Characters special to the shell must be escaped. Note: 0 is returned to indicate a zero value, rather than the null string. Strings containing blanks or other special characters should be quoted. Integer-valued arguments may be preceded by a unary minus sign. Internally, integers are treated as 32-bit, two's-complement numbers. The operators and keywords are listed below. Characters that need to be escaped are preceded by `'. The list is in order of increasing precedence, with equal precedence operators grouped within {} symbols. expr | expr Returns the evaluation of the first expr if it is neither NULL nor 0; otherwise, returns the evaluation of the second expr if it is not NULL; otherwise, 0. expr & expr Returns the first expr if neither expr is NULL or 0, otherwise returns 0. expr { =, , , <, <=, != } expr Returns the result of an integer comparison if both arguments are integers, otherwise returns the result of a lexical comparison. expr { +, - } expr Addition or subtraction of integer-valued arguments. expr { , /, % } expr Multiplication, division, or remainder of the integer-valued arguments. string : regular-expression match string regular-expression The two forms of the matching operator above are synonymous. The matching operators : and match compare the first argument with the second argument which must be a regular expression. Regular expression syntax is the same as that of regexp(5), except that all pat- terns are "anchored" (treated as if they begin with ^) and therefore ^ is not a special character, in that context. Normally, the matching operator returns the number of characters matched (0 on failure). Alternatively, the ... pattern symbols can be used to return a portion of the first argument. substr string integer-1 integer-2 Extracts the substring of string starting at position integer-1 and of length integer-2 characters. If integer-1 has a value greater than the length of string, expr returns a null string. If you try to extract more characters than there are in string, expr returns all the remaining characters from string. Beware of using negative values for either integer-1 or integer-2 as expr tends to run forever in these cases. index string character-list Reports the first position in string at which any one of the characters in character-list matches a character in string. length string Returns the length (that is, the number of characters) of string. ( expr ) Parentheses may be used for grouping. EXAMPLES
Example 1 Adding an integer to a shell variable Add 1 to the shell variable a. a='expr $a + 1' Example 2 Returning a path name segment Return the last segment of a path name (that is, the filename part). Watch out for / alone as an argument: expr will take it as the divi- sion operator (see BUGS below). # 'For $a equal to either "/usr/abc/file" or just "file"' expr $a : '.*/ $a Example 3 Using // characters to simplify the expression The addition of the // characters eliminates any ambiguity about the division operator and simplifies the whole expression. # A better representation of example 2. expr //$a : '.*/ Example 4 Returning the value of a variable Returns the number of characters in $VAR. expr $VAR : '.*' EXIT STATUS
expr returns the following exit codes: 0 If the expression is neither NULL nor 0. 1 If the expression is NULL or 0. 2 For invalid expressions. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWscpu | +-----------------------------+-----------------------------+ SEE ALSO
sh(1), test(1), attributes(5), regexp(5) DIAGNOSTICS
syntax error for operator/operand errors non-numeric argument if arithmetic is attempted on such a string division by zero if an attempt to divide by zero is made BUGS
After argument processing by the shell, expr cannot tell the difference between an operator and an operand except by the value. If $a is an =, the command: expr $a = '=' looks like: expr = = = as the arguments are passed to expr (and they will all be taken as the = operator). The following works: expr X$a = X= Note: the match, substr, length, and index operators cannot themselves be used as ordinary strings. That is, the expression: example% expr index expurgatorious length syntax error example% generates the `syntax error' message as shown instead of the value 1 as you might expect. SunOS 5.11 6 Jun 2000 expr(1B)
All times are GMT -4. The time now is 08:18 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy