Sponsored Content
Top Forums Shell Programming and Scripting Finding directories with expression Post 302769132 by DGPickett on Monday 11th of February 2013 09:46:47 AM
Old 02-11-2013
Code:
find * -type d -name mypattern | sed '
  s/_[0-9]*\/mypattern$//
 ' | sort -u | while read p
 do
  sum=0
  ls ${p}_[0-9]/mypattern | xargs -r du -sk | while read k n
   do
    (( sum += k ))
   done
  echo $p $sum
 done

Find the mypattern dirs, remove any parent suffix and the child name, sort unique, and for each, start the sum at zero, find the size of all files in the family of directories and add to sum, and print out a summary line on this pattern.

Last edited by DGPickett; 02-28-2013 at 04:43 PM.. Reason: init sum, no $ for just compute, regex too greedy
This User Gave Thanks to DGPickett For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

finding directories in UNIX

I am accessing a UNIX server via FTP. I want to retieve a file in a directory. What is the UNIX command that I need to view and retrieve files from a directory? (1 Reply)
Discussion started by: yodaddy
1 Replies

2. Shell Programming and Scripting

Expression for Finding Multiple Directories..??

I am writing a shell script to search for previous versions of an application...the application is called TAU and basically i want to search the users home directory and /Applications for any instances of a "TAU" folder.. If found i want to give the user the option to remove the old folders and if... (3 Replies)
Discussion started by: meskue
3 Replies

3. UNIX for Dummies Questions & Answers

Create directories with regular expression

Hi guys, can any one tell me how to create directories using regular expression? Let's say that I need to create directories test01, test02, test03.... test10. Can it be done using any regular expression? thanks. (13 Replies)
Discussion started by: mahendrt
13 Replies

4. Shell Programming and Scripting

finding correct directories

I have directories like V00R01,V00R02,V01R01,V01R02 in a directory where V is version and R is a release. basically I need to set base directory and current directory. Under a version there can be any number of releases and there can be number of versions also. V00R01...V00R50..so on also,... (2 Replies)
Discussion started by: vjasai
2 Replies

5. Shell Programming and Scripting

Script for parsing directories one level and finding directories older than n days

Hello all, Here's the deal...I have one directory with many subdirs and files. What I want to find out is who is keeping old files and directories...say files and dirs that they didn't use since a number of n days, only one level under the initial dir. Output to a file. A script for... (5 Replies)
Discussion started by: ejianu
5 Replies

6. UNIX for Dummies Questions & Answers

using regular expression for directories in find command

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)
Discussion started by: vinothbabu12
3 Replies

7. UNIX for Dummies Questions & Answers

Finding size of all directories

Alright so I've tried a couple different things that at first glance, looked like they worked. find . -maxdepth 5 -type d -daystart -mtime 1 | xargs du -h Which seems to ignore the previous commands such as depth and modified time. find .. -maxdepth 2 -type d -daystart -ctime 1 | xargs... (8 Replies)
Discussion started by: Aussiemick
8 Replies

8. UNIX for Dummies Questions & Answers

Finding multiply directories

I have multiply directories scattered throughout my system that end in 2011. Example: one_2011 two_2011 three_2011 etc.... I'm trying to find all of these directories but coming up short. I tried find / -type d -name *2011 > example Any suggestions? I already searched in the... (13 Replies)
Discussion started by: shorty
13 Replies

9. UNIX for Advanced & Expert Users

Regular expression for finding OCR mistakes.

I have a large file of plain text, created using some OCR software. Some words have inevitably been got wrong. I've been trying to create grep or sed, etc., regular expressions to find them - but haven't quite managed to get it right. Here's what I'm trying to achieve: Output all lines which... (2 Replies)
Discussion started by: gencon
2 Replies

10. Shell Programming and Scripting

Grep with Regular expression now working on file directories

Hello Everyone, I have a file sam1 with the below content SYSYSID;MANDT;/SIE/AD_Z0M_INDX;/SIE/AD_Z0M_KEY1 echo $Regex \bSYSYSID\b|\bMANDT\b|\b/SIE/AD_Z0M_INDX\b|\b/SIE/AD_Z0M_KEY1\b cat sam1 | grep -Eo $Regex I expect the result as SYSYSID MANDT /SIE/AD_Z0M_INDX /SIE/AD_Z0M_KEY1... (4 Replies)
Discussion started by: sam99
4 Replies
sa(8)							      System Manager's Manual							     sa(8)

Name
       sa, accton - print process accounting statistics

Syntax
       /etc/sa [ options ] [ file ]

       /etc/accton [ file ]

Arguments
       file    With  an  argument naming an existing file, causes system accounting information for every process executed to be placed at the end
	       of the file.  If no argument is given, accounting is turned off.

Description
       The command reports on, cleans up, and generally maintains accounting files.

       The is able to condense the information in into a summary file which contains a count of the number of times each command  was  called  and
       the time resources consumed.  This condensation is desirable because on a large system can grow by 100 blocks per day.  The summary file is
       normally read before the accounting file, so the reports include all available information.

       If a file name is given as the last argument, that file will be treated as the accounting file.	The file is the default.

       Output fields are labeled: "cpu" for the sum of user+system time (in cpu seconds), "re" for real time (also in cpu seconds), "k"  for  cpu-
       time  averaged  core usage (in 1k units), "avio" for average number of I/O operations per execution.  With options fields labeled "tio" for
       total I/O operations, "k*sec" for cpu storage integral (kilo-core seconds), "u" and "s" for user and system cpu time  alone  (both  in  cpu
       seconds) will sometimes appear.

Options
       -a      List  all  command names including those containing unprintable characters and those used only once. By default, places all command
	       names containing unprintable characters and those used only once under the name `***other.'

       -b      Sort output by sum of user and system time divided by number of calls.  Default sort is by sum of user and system times.

       -c      Besides total user, system, and real time for each command, print percentage of total time over all commands.

       -d      Sort by average number of disk I/O operations.

       -D      Print and sort by total number of disk I/O operations.

       -f      Force no interactive threshold compression with option.

       -i      Do not read in summary file.

       -j      Instead of total minutes for each category, give seconds per call.

       -k      Sort by cpu-time average memory usage.

       -K      Print and sort by cpu-storage integral.

       -l      Separate system and user time; normally they are combined.

       -m      Print number of processes and number of CPU minutes for each user.

       -n      Sort by number of calls.

       -r      Reverse order of sort.

       -s      Merge accounting file into summary file when done.

       -t      For each command, report ratio of real time to the sum of user and system times.  If the sum of user and system times is too  small
	       to report, `*ignore*' appears in this field.

       -u      Superseding all other flags, print for each command in the accounting file the user ID and command name.

       -v      Followed  by  a number n, types the name of each command used n times or fewer.	Await a reply from the terminal; if it begins with
	       `y', add the command to the category `**junk**.' This is used to strip out garbage.

Restrictions
       Accounting is suspended when there is less than 2% free space on disk.  Accounting resumes when free space rises above 4%.

Files
       Raw accounting

       Summary

       Per-user summary

See Also
       acct(2), ac(8)

																	     sa(8)
All times are GMT -4. The time now is 06:52 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy