I have large config-files for an application. The lines have different structure, but some of them contains the parameter 'TIMEOUT=x', where x is an numeric value. I want to change the value for that specific paramater if the value is greater than a specific value (got that?). The timeout-parameter can be at different positions on different lines.
Example:
The file could look something like this:
And I want to change the TIMEOUT-value to 200 if the value is greater than 200. The result should look like this:
I know I can do this in a for-loop over all lines in the file, grep'ing and awk'ing out the value, echo'ing a new line in an if-else based on the value. The problem is that there are about 100 files with around 10000 lines each and it will take too long time to run a shell-loop.
Does anyone have any intelligent solution for this in awk or similar?
Hi Guys and Gals,
I'm having some difficulty putting this check into a shell script. I would like to search a particular directory for a number of files. The logic I have is pretty simple:
Find file named *.txt that are newer than <this file> and count them
If the number of files is equal to... (4 Replies)
Hi Guys,
I have a little problem, was wondering if anyone had any experience with this?
I am using imagemagick to remove whitespace from images, however some images are corrupt and the server hangs and eventually crashes because imagemagick doesnt know what to do, even though I have set the... (4 Replies)
Hi
I want to find greater than and min value.
dategrep()
{
varlinenum=$1
varSESSTRANS_CL="$(egrep -n "<\/SESSTRANSFORMATIONINST>" tmpsess9580.txt | cut -d":" -f1)"
echo $varSESSTRANS_CL
}
dategrep 8
Output of the above command is:
I want to find out greater than 8 and... (9 Replies)
I need a unix command which will find all the files greater that a particular date in the file name.
say for example I have files like(filenaming cov : filename.YYDDMMSSSS.txt)
abc.201206015423.txt
abc.201207013456.txt
abc.201202011234.txt
abc.201201024321.txt
efg.201202011234.txt... (11 Replies)
A file
2400 2800 PSC000289
3200 3896 PCS000289
3333 3666 PCS000221
222 1000 PCS000222
3299 3600 PSC000289
Question is while if third column is PCS000289
and first column should be greater than 3000, then replace PCS000289 by YES,
remaining the others column same.
... (1 Reply)
Hi,
I started exploring unix recently. Now i have got a requirement like i have a input file where i am having some strings line by line (One string Might be single line or multiple lines). Now i need find these strings in another file and if its found i have to replace it with another string... (2 Replies)
Hi,
i need to find one of the value from my file is in between two numbers, that is the value is greater than 34 and smaller than 50,
Ex: File.txt
col1 col2 col3 col4
1 Name1 93 w
2 Name2 94 a
3 Name3 32 b
4 Name4 45 x
5 Name5 50 y
6 Name6 49 z
here i need to find col3 values are... (7 Replies)
How do I find the files greater than or equal to a given size using find command.
find ./ -size +0k --> Lists files greater than 0K
find ./ -size 0k --> Lists the file size equal to 0K.
I have other conditions to check, hence using find command.
Thanks in advance. (4 Replies)
Discussion started by: deepakwins
4 Replies
LEARN ABOUT MOJAVE
file::find::rule::procedural
File::Find::Rule::Procedural(3) User Contributed Perl Documentation File::Find::Rule::Procedural(3)NAME
File::Find::Rule::Procedural - File::Find::Rule's procedural interface
SYNOPSIS
use File::Find::Rule;
# find all .pm files, procedurally
my @files = find(file => name => '*.pm', in => @INC);
DESCRIPTION
In addition to the regular object-oriented interface, File::Find::Rule provides two subroutines for you to use.
"find( @clauses )"
"rule( @clauses )"
"find" and "rule" can be used to invoke any methods available to the OO version. "rule" is a synonym for "find"
Passing more than one value to a clause is done with an anonymous array:
my $finder = find( name => [ '*.mp3', '*.ogg' ] );
"find" and "rule" both return a File::Find::Rule instance, unless one of the arguments is "in", in which case it returns a list of things
that match the rule.
my @files = find( name => [ '*.mp3', '*.ogg' ], in => $ENV{HOME} );
Please note that "in" will be the last clause evaluated, and so this code will search for mp3s regardless of size.
my @files = find( name => '*.mp3', in => $ENV{HOME}, size => '<2k' );
^
|
Clause processing stopped here ------/
It is also possible to invert a single rule by prefixing it with "!" like so:
# large files that aren't videos
my @files = find( file =>
'!name' => [ '*.avi', '*.mov' ],
size => '>20M',
in => $ENV{HOME} );
AUTHOR
Richard Clamp <richardc@unixbeard.net>
COPYRIGHT
Copyright (C) 2003 Richard Clamp. All Rights Reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO
File::Find::Rule
perl v5.18.2 2011-09-19 File::Find::Rule::Procedural(3)