Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Find: missing argument to `-mtime' Post 303042769 by wtolentino on Monday 6th of January 2020 10:59:36 AM
Old 01-06-2020
originally it was written on AIX and is working fine then had to moved the to same script to Linux. basically the goal of the script is to find a file that is days old depending on the parameter.

here is the output using this command sh -xv rmAgingFile.sh file*.log 2
Code:
p1=$1
+ p1=file_1.log
pday=$2
+ pday=file_2.log

vdir=`pwd`
pwd
++ pwd
+ vdir=/sbin/scripts
vhomedir=`pwd`
pwd
++ pwd
+ vhomedir=/sbin/scripts
vctr=0
+ vctr=0

# check for null parameter
if [ $# -lt 1 ]; then
  echo current directory $vdir
  echo no parameter entered
  echo
else
  #check for directory entry only
  if [ -d $p1 ]; then
    vdir=$p1
    echo current directory $vdir
    cd $vdir
    echo no file parameter entered
    echo
  #check for directory entry and file
  elif [ -f $p1 ]; then
    vdir=`dirname $p1`
    echo current directory $vdir
    cd $vdir

    for f in $1
    do
      vfile=`basename $f`
      #for i in `find $vdir -name "$vfile" -mtime +$pday`
      #ommit the subdirectories in the searcch
      for i in `find . ! -name . -prune -type f -name "$vfile" -daystart -mtime +$pday`
      do
        let vctr=$vctr+1
        vfile=`basename $i`
        echo deleting aging files $vfile
        rm $vfile
      done
    done

    if [ $vctr -eq 0 ]; then
      echo "no aging files found that are $pday days old"
    fi
  else
    echo $p1 not found
  fi
fi
+ '[' 3 -lt 1 ']'
+ '[' -d file_1.log ']'
+ '[' -f file_1.log ']'
dirname $p1
++ dirname file_1.log
+ vdir=.
+ echo current directory .
current directory .
+ cd .
+ for f in '$1'
basename $f
++ basename file_1.log
+ vfile=file_1.log
find . ! -name . -prune -type f -name "$vfile" -daystart -mtime +$pday
++ find . '!' -name . -prune -type f -name file_1.log -daystart -mtime +file_2.log
find: missing argument to `-mtime'
+ '[' 0 -eq 0 ']'
+ echo 'no aging files found that are file_2.log days old'
no aging files found that are file_2.log days old

#return the cursor to the home directory
cd $vhomedir
+ cd /sbin/scripts

# put a white space
echo
+ echo


thank you.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

find -mtime off by one day?

If I use the find command to find files older than n days I have to enter find . -mtime +(n-1). I tried this on a Solaris 9 system and also Linux. Is this something that all Unix veterans know about (I'm new to Unix)? If so, maybe my man pages need to be updated (how to do this?). :confused: (4 Replies)
Discussion started by: ceanntrean
4 Replies

2. UNIX for Dummies Questions & Answers

find . -mtime

...what am i doing wrong?? I need to find all files older than 30 days and delete but I can't get it to pull details for ANY + times. The file below has a time stamp which is older than 1 day, however if I try and select it using any of the -time flags it just doesn't see it. (the same thing... (1 Reply)
Discussion started by: topcat8
1 Replies

3. UNIX for Dummies Questions & Answers

(find) mtime vs. (unix) mtime

Hi I've made some test with perl script to learn more about mtime... So, my question is : Why the mtime from findfind /usr/local/sbin -ctime -1 -mtime -1 \( -name "*.log" -o -name "*.gz" \) -print are not the same as mtime from unix/linux in ls -ltr or in stat() function in perl : stat -... (2 Replies)
Discussion started by: hiddenshadow
2 Replies

4. UNIX for Dummies Questions & Answers

find mtime syntax

Hi guys, I am looking for a way of moving all files out of a directory with a time stamp greater then the one I specify. Can anyone suggest a way of doing so? For example, move all files out of dir1 which were created after 17:00 into dir2. Thanks :) (1 Reply)
Discussion started by: JayC89
1 Replies

5. Shell Programming and Scripting

find -mtime +7

Dear all, find $ADMIN_DIR/$SID/arch/ -name '*.gz' -mtime +7 -exec rm {} \; is it retaining 7 days OR 8 days .gz files ? Thanks Prakash (10 Replies)
Discussion started by: prakashoracledb
10 Replies

6. Shell Programming and Scripting

Help on find -mtime -exec

Hello people. Part of my script: echo "Compressing files older than 2 months in ${TEMP_DIR} directory ..." find ${DATA_DIR}/ -name '*.dat' -mtime 61 -exec compress {} \; #BELOW COMMAND DOES NOT WORK :-( <<<<<<----------- find ${DATA_DIR}/ -name '*.o.lines.*' -mtime 61 -exec compress {}... (2 Replies)
Discussion started by: drbiloukos
2 Replies

7. UNIX for Dummies Questions & Answers

Find using mtime

Hi, so I was using mtime and its not behaving the way I would think its supposed too. I have two pdf files. One modified today and another 6 months ago. I upload them to the solaris server. Then I run the below find statements. This finds my 2 files find *.pdf -type f -name '*.pdf' this finds... (2 Replies)
Discussion started by: vsekvsek
2 Replies

8. Shell Programming and Scripting

find: missing argument to `-exec' while redirecting using find in perl

Hi Friends, Please help me to sort out this problem, I am running this in centos o/s and whenever I run this script I am getting "find: missing argument to `-exec' " but when I run the same code in the command line I didn't find any problem. I am using perl script to run this ... (2 Replies)
Discussion started by: ramkumarselvam
2 Replies

9. Shell Programming and Scripting

Find by name and mtime

Hi, I'm trying to find all files that have a .ksh and .p extension and that are 7 days old by using the below find command but it doesn't seem to as expected. It gives me random results.. Can someone point out what may be wrong? find . -name "*.ksh" -o -name "*.p" -mtime -7 (2 Replies)
Discussion started by: Jazmania
2 Replies

10. UNIX for Beginners Questions & Answers

Missing argument for option: n Error

I am trying to execute the cli.sh script in another shell script passing arguments and getting the below error. Myscript.sh #!/bin/sh /home/runAJobCli/cli.sh runAJobCli -n $Taskname -t $Tasktype I am passing the below 2 arguments and it giving error ./Myscript.sh T_SAMPLE_TEST MTT... (11 Replies)
Discussion started by: Info_Geek
11 Replies
NCBO(1) 						      General Commands Manual							   NCBO(1)

NAME
ncbo - netCDF Binary Operator SYNTAX
ncbo [-3] [-4] [-6] [-A] [-C] [-c] [-D dbg] [-d dim,[ min][,[ max]]] [-F] [-h] [-L dfl_lvl] [-l path] [-O] [-p path] [-R] [-r] [-t thr_nbr] [-v var[,...]] [-X box] [-x] file_1 file_2 file_3 DESCRIPTION
ncbo subtracts variables in file_2 from the corresponding variables (those with the same name) in file_1 and stores the results in file_3. Variables in file_2 are broadcast to conform to the corresponding variable in file_1 if necessary. Broadcasting a variable means creating data in non-existing dimensions from the data in existing dimensions. For example, a two dimensional variable in file_2 can be subtracted from a four, three, or two (but not one or zero) dimensional variable (of the same name) in file_1. This functionality allows the user to compute anomalies from the mean. Note that variables in file_1 are not broadcast to conform to the dimensions in file_2. Thus, ncbo, the number of dimensions, or rank, of any processed variable in file_1 must be greater than or equal to the rank of the same variable in file_2. Furthermore, the size of all dimensions common to both file_1 and file_2 must be equal. When computing anomalies from the mean it is often the case that file_2 was created by applying an averaging operator to a file with the same dimensions as file_1, if not file_1 itself. In these cases, creating file_2 with ncra rather than ncwa will cause the ncbo operation to fail. For concreteness say the record dimension in file_1 is time. If file_2 were created by averaging file_1 over the time dimension with the ncra operator rather than with the ncwa operator, then file_2 will have a time dimension of size 1 rather than having no time dimension at all In this case the input files to ncbo, file_1 and file_2, will have unequally sized time dimensions which causes ncbo to fail. To prevent this from occuring, use ncwa to remove the time dimension from file_2. An example is given below. ncbo will never difference coordinate variables or variables of type NC_CHAR or NC_BYTE. This ensures that coordinates like (e.g., lati- tude and longitude) are physically meaningful in the output file, file_3. This behavior is hardcoded. ncbo applies special rules to some NCAR CSM fields (e.g., ORO). See NCAR CSM Conventions for a complete description. Finally, we note that ncflint (ncflint netCDF File Interpolator) can be also perform file subtraction (as well as addition, multiplication and interpolation). EXAMPLES
Say files 85_0112.nc and 86_0112.nc each contain 12 months of data. Compute the change in the monthly averages from 1985 to 1986: ncbo 86_0112.nc 85_0112.nc 86m85_0112.nc The following examples demonstrate the broadcasting feature of ncbo. Say we wish to compute the monthly anomalies of T from the yearly average of T for the year 1985. First we create the 1985 average from the monthly data, which is stored with the record dimension time. ncra 85_0112.nc 85.nc ncwa -O -a time 85.nc 85.nc The second command, ncwa, gets rid of the time dimension of size 1 that ncra left in 85.nc. Now none of the variables in 85.nc has a time dimension. A quicker way to accomplish this is to use ncwa from the beginning: ncwa -a time 85_0112.nc 85.nc We are now ready to use ncbo to compute the anomalies for 1985: ncbo -v T 85_0112.nc 85.nc t_anm_85_0112.nc Each of the 12 records in t_anm_85_0112.nc now contains the monthly deviation of T from the annual mean of T for each gridpoint. Say we wish to compute the monthly gridpoint anomalies from the zonal annual mean. A zonal mean is a quantity that has been averaged over the longitudinal (or x) direction. First we use ncwa to average over longitudinal direction lon, creating xavg_85.nc, the zonal mean of 85.nc. Then we use ncbo to subtract the zonal annual means from the monthly gridpoint data: ncwa -a lon 85.nc xavg_85.nc ncbo 85_0112.nc xavg_85.nc tx_anm_85_0112.nc Assuming 85_0112.nc has dimensions time and lon, this example only works if xavg_85.nc has no time or lon dimension. As a final example, say we have five years of monthly data (i.e., 60 months) stored in 8501_8912.nc and we wish to create a file which con- tains the twelve month seasonal cycle of the average monthly anomaly from the five-year mean of this data. The following method is just one permutation of many which will accomplish the same result. First use ncwa to create the file containing the five-year mean: ncwa -a time 8501_8912.nc 8589.nc Next use ncbo to create a file containing the difference of each month's data from the five-year mean: ncbo 8501_8912.nc 8589.nc t_anm_8501_8912.nc Now use ncks to group the five January anomalies together in one file, and use ncra to create the average anomaly for all five Januarys. These commands are embedded in a shell loop so they are repeated for all twelve months: foreach idx (01 02 03 04 05 06 07 08 09 10 11 12) ncks -F -d time,,,12 t_anm_8501_8912.nc foo. ncra foo. t_anm_8589_.nc end Note that ncra understands the stride argument so the two commands inside the loop may be combined into the single command ncra -F -d time,,,12 t_anm_8501_8912.nc foo. Finally, use ncrcat to concatenate the 12 average monthly anomaly files into one twelve-record file which contains the entire seasonal cycle of the monthly anomalies: ncrcat t_anm_8589_??.nc t_anm_8589_0112.nc AUTHOR
NCO manual pages written by Charlie Zender and Brian Mays. REPORTING BUGS
Report bugs to <http://sf.net/bugs/?group_id=3331>. COPYRIGHT
Copyright (C) 1995-2010 Charlie Zender This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICU- LAR PURPOSE. SEE ALSO
The full documentation for NCO is maintained as a Texinfo manual called the NCO User's Guide. Because NCO is mathematical in nature, the documentation includes TeX-intensive portions not viewable on character-based displays. Hence the only complete and authoritative versions of the NCO User's Guide are the PDF (recommended), DVI, and Postscript versions at <http://nco.sf.net/nco.pdf>, <http://nco.sf.net/nco.dvi>, and <http://nco.sf.net/nco.ps>, respectively. HTML and XML versions are available at <http://nco.sf.net/nco.html> and <http://nco.sf.net/nco.xml>, respectively. If the info and NCO programs are properly installed at your site, the command info nco should give you access to the complete manual, except for the TeX-intensive portions. HOMEPAGE
The NCO homepage at <http://nco.sf.net> contains more information. NCBO(1)
All times are GMT -4. The time now is 04:56 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy