Sponsored Content
Top Forums Shell Programming and Scripting Find occurances of a directory and count Post 81232 by stringman on Wednesday 17th of August 2005 11:43:33 AM
Old 08-17-2005
Find occurances of a directory and count

I am writing my first shell script to do the following:
  1. Find all occurrences of a directory from the pwd
  2. Delete the directory (which is a hidden directory)
  3. Provide feedback w/ the number of directories deleted
The problems I am having are two-fold:
  1. The user may not have the appropriate privileges to delete the directory
  2. grep -c counts the total number of lines returned, rather than the total number of unique occurrences of the directory
For example, I want to let the user know how my directories called "delete_me" were deleted. If the directory structure is /.delete_me/subdir1/subdir2, grep -c returns "3" (/.delete_me, /.delete_me/subdir1, and /.delete_me/subdir1/subdir2). I want to tell the user that 1 directory called ".delete_me" was deleted. How can this be done?

My other problem deals w/ the user not having privileges to delete the directory, or getting feedback on all the directories accessed during the "find" that they don't have permission to read. Ideally, the script would be run w/ root privileges, but I can only get it to run w/ the privileges assigned to the user running the script.

A copy of my code is below. I am just testing, so right now I am not deleting any directories, just finding them and printing to stdout.
Code:
echo "Are you sure you want to recursively delete all .delete_me directories under the current directory? [y/n]: "
echo "Current Directory: `pwd`" 

read answer
case "$answer" in
  y)
    find . -name .delete_me -print
    echo "Number of .delete_me Directories Deleted:"
    find . -print | grep  -c '.parent' 
  n)
    echo  "<--- Operation Aborted! --->";;
  *)
    echo \""$answer"\" is not an option.  Please select \"y\" or \"n\".;;
esac
exit 0

Any help would be greatly appreciated. Thanks in advance.

Ken
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to find the count of files in a directory

Hi Gurus WHat would be the command to check whether there is a file in particular path or not.. for ex: my file name is ExRate_20071501.csv I can have many files with same pattern but diffrentiated by date.. i have a process where i have to check if files exist in tht folder i have to... (5 Replies)
Discussion started by: sish78
5 Replies

2. Shell Programming and Scripting

count the number chracters occurances in a line

Hi Could anybody tell me how to count the number of occurances of a character within a LINE. actually i have a single line with words seperated with '+' chracter e.g. abc+def+ghj+jkl+asd i want to separte the words above. Please provide the necessary logic in the form of a SHELL... (6 Replies)
Discussion started by: skyineyes
6 Replies

3. Shell Programming and Scripting

awk command to find the count of files ina directory

hi Gurus, can anyone provide a awk command to get teh count of number of file sin a specific directory. appreciate any kind of information.. thanks (11 Replies)
Discussion started by: sish78
11 Replies

4. Shell Programming and Scripting

Count occurances of a character in a file

I want to find the number of occurences of a character in a file. How do i do it. Eg: $cat file1.txt Welcome to World of Unix. $ If i want to find the occurences of 'o' then I should be getting 3. Thanks. (6 Replies)
Discussion started by: Shivdatta
6 Replies

5. UNIX for Dummies Questions & Answers

Count occurances in a file

Hi, I have a fixed width file in the following format Sr.No A.No Name 1 2 PPP 3 4 PPP 5 6 TTT 7 8 OOO 9 10 OOO 11 12 OOO The 3rd column starts at position 10 and ends at 15. I want to count the number of occurances of each Name and output to a file Example in the... (2 Replies)
Discussion started by: samit_9999
2 Replies

6. Shell Programming and Scripting

Count occurances of X Y Z in a file in 1 go.

Hi. I need to count multiple occurrences of X Y Z in a file in 1 go. At the moment I have the following scripts: ssh readonly@$ServerIP 'YEAR=xx;DAY=xx;MONTH=xx;LMONTH=xx;for i in 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 \ 16 17 18 19 20 21 22 23; do cat... (13 Replies)
Discussion started by: msullivan
13 Replies

7. Shell Programming and Scripting

How to count number of occurances of string in a file?

Gurus, Need little guidance. I have A.txt and B.txt file. B.txt file contains Unique strings. Sample content of B.txt file for which i cut the fourth column uniquely and output directed to B.txt file And A.txt file contains the above string as a fourth column which is last column. So A.txt... (7 Replies)
Discussion started by: Shirisha
7 Replies

8. Shell Programming and Scripting

Count the occurances of numbers

I have a file as shown below. I need to count the unique occurrences of numbers in the first and second column only if the third column is <= 10. Otherwise print the corresponding numbers as zero. Thanks in advance!:) 58 80 40.74 76 80 9.78 76 80 8 12 6 9 30 28 8.23 45 12 ... (13 Replies)
Discussion started by: andreaalex
13 Replies

9. Shell Programming and Scripting

Count the number of occurances for multiple files

I have some text files as shown below. I would like to add the values of each string. Your help would be appreciated!! file1.txt SUS 2 PRS 2 ALI 1 PRS 1 GLK 2 file2.txt PRS 3 GLK 6 SUS 18 Desired output SUS 20 PRS 6 (2 Replies)
Discussion started by: arch
2 Replies

10. UNIX for Beginners Questions & Answers

Grep pattern file and count occurances

Guys I am trying grep to read from pattern file and count occurances of each word. input is firstplace secondplace secondpot patternfile is place first second i want the following. 1-count number of times keywords in patternfile occurs in begining of each line in input file. so... (12 Replies)
Discussion started by: ahfze
12 Replies
MISC_CONV(3)							 Linux-PAM Manual						      MISC_CONV(3)

NAME
misc_conv - text based conversation function SYNOPSIS
#include <security/pam_misc.h> int misc_conv(int num_msg, const struct pam_message **msgm, struct pam_response **response, void *appdata_ptr); DESCRIPTION
The misc_conv function is part of libpam_misc and not of the standard libpam library. This function will prompt the user with the appropriate comments and obtain the appropriate inputs as directed by authentication modules. In addition to simply slotting into the appropriate pam_conv(3), this function provides some time-out facilities. The function exports five variables that can be used by an application programmer to limit the amount of time this conversation function will spend waiting for the user to type something. The five variabls are as follows: time_t pam_misc_conv_warn_time; This variable contains the time (as returned by time(2)) that the user should be first warned that the clock is ticking. By default it has the value 0, which indicates that no such warning will be given. The application may set its value to sometime in the future, but this should be done prior to passing control to the Linux-PAM library. const char *pam_misc_conv_warn_line; Used in conjuction with pam_misc_conv_warn_time, this variable is a pointer to the string that will be displayed when it becomes time to warn the user that the timeout is approaching. Its default value is a translated version of "...Time is running out...", but this can be changed by the application prior to passing control to Linux-PAM. time_t pam_misc_conv_die_time; This variable contains the time (as returned by time(2)) that the will time out. By default it has the value 0, which indicates that the conversation function will not timeout. The application may set its value to sometime in the future, but this should be done prior to passing control to the Linux-PAM library. const char *pam_misc_conv_die_line; Used in conjuction with pam_misc_conv_die_time, this variable is a pointer to the string that will be displayed when the conversation times out. Its default value is a translated version of "...Sorry, your time is up!", but this can be changed by the application prior to passing control to Linux-PAM. int pam_misc_conv_died; Following a return from the Linux-PAM libraray, the value of this variable indicates whether the conversation has timed out. A value of 1 indicates the time-out occurred. The following two function pointers are available for supporting binary prompts in the conversation function. They are optimized for the current incarnation of the libpamc library and are subject to change. int (*pam_binary_handler_fn)(void *appdata, pamc_bp_t *prompt_p); This function pointer is initialized to NULL but can be filled with a function that provides machine-machine (hidden) message exchange. It is intended for use with hidden authentication protocols such as RSA or Diffie-Hellman key exchanges. (This is still under development.) int (*pam_binary_handler_free)(void *appdata, pamc_bp_t *delete_me); This function pointer is initialized to PAM_BP_RENEW(delete_me, 0, 0), but can be redefined as desired by the application. SEE ALSO
pam_conv(3), pam(8) STANDARDS
The misc_conv function is part of the libpam_misc Library and not defined in any standard. Linux-PAM Manual 09/19/2013 MISC_CONV(3)
All times are GMT -4. The time now is 01:38 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy