Sponsored Content
Top Forums Shell Programming and Scripting how to find a pattern from an external file in a directory containing multiple file recursively Post 302718929 by elixir_sinari on Sunday 21st of October 2012 12:47:31 PM
Old 10-21-2012
@mukulverma2408, Jim's suggestion should work for you (assuming that you want to delete whole lines containing the pattern). But, it seems that your file names are having spaces in between. So, try this small variation of Jim's script:
Code:
# your input file is called infile in this example
find /directory -type f |
while read fname 
do
    fgrep -vf infile "$fname" > tmp.tmp
    mv tmp.tmp "$fname"
done

@bipinajith
try to avoid using sed on single lines. What you wish to achieve could easily be done by the shell:
Code:
DIR=${i%/*}

And if line happens to contain a string with spaces, it will break the sed command (since you've not enclosed the variable expansion with double-quotes).

Last edited by elixir_sinari; 10-21-2012 at 01:57 PM..
This User Gave Thanks to elixir_sinari For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to pass multiple file types search pattern as argument to find?

How can I pass $var_find variable as argment to find command? test.sh var_find=' \( -name "*.xml" -o -name "*.jsp" \) ' echo "${var_find}" find . -type f ${var_find} -print # Below statement works fine.. I want to replace this with the above.. #find . \( -name "*.xml" -o -name... (4 Replies)
Discussion started by: kchinnam
4 Replies

2. UNIX for Dummies Questions & Answers

find the file names having specified pattern at specified position in the current directory

I would need a command for finding first 15000 of the file names whose 25th postion is 5 in the current directory alone. I do have this painful command find . -name '5*' | head -15000 | cut -c3- please refine this. Of course the above command also searches in the sub directories... (3 Replies)
Discussion started by: vk39221
3 Replies

3. Shell Programming and Scripting

Need to find recursively all shell script in the /xyz directory

Pls. advise how to find or used grep recursively all shell script files. Some files doesnt have a .sh or .ksh extension name. find / -name "*" |xargs grep bin |grep sh ?? TIA (1 Reply)
Discussion started by: budz26
1 Replies

4. Shell Programming and Scripting

Find a particular directory in multiple file systems and calculate total size

Hello : I need some help in writing a ksh script which will find a particular directory in all the file systems in a server and finally report the total size of the direcotry in all the file systems. Some thing like this.. find /u*/app/oracle -type d -name "product" -prune and then... (1 Reply)
Discussion started by: Sam1974
1 Replies

5. UNIX for Dummies Questions & Answers

Find and rename file recursively

Hi, I have a directory which contains multiple files with .txt extension, i want to rename all these file to .bak extension using find command, this is what i've tried, please help me to correct this : find /home/application/test -name '*.txt' -exec rename 's/txt/bak/' {} \; seems to... (8 Replies)
Discussion started by: mukulverma2408
8 Replies

6. Shell Programming and Scripting

Loop multiple directory, find a file and send email

Hello ALL, need a BASH script who find file and send email with attachment. I have 50 folders without sub directories in each generated files of different sizes but with a similar name Rp01.txt Rp02.txt Rp03.txt ...etc. Each directors bound by mail group, I need a script that goes as... (1 Reply)
Discussion started by: penchev
1 Replies

7. Shell Programming and Scripting

Find Large Files Recursively From Specific Directory

Hi. I found many scripts in the web of achieving this. But I like to use this one find /EDWH-DMT03 -xdev -size +10000 -exec ls -la {} \;|sort -n -k 5 > LARGE.rst But the problem is, why it still list out files with 89 bytes as the output? Is there anything wrong with the command? My... (7 Replies)
Discussion started by: aimy
7 Replies

8. Shell Programming and Scripting

How can I use find command to search string/pattern in a file recursively?

Hi, How can I use find command to search string/pattern in a file recursively? What I tried: find . -type f -exec cat {} | grep "make" \; Output: grep: find: ;: No such file or directory missing argument to `-exec' And this: find . -type f -exec cat {} \; -exec grep "make" {} \;... (12 Replies)
Discussion started by: cola
12 Replies

9. Shell Programming and Scripting

Find file type recursively and move

Hello, I supposed that it was working fine but now I see that it's not working as expected. I am running under ubuntu14.04, trusty. My plan was to search folderA and all subdirectories and move any txt file to destination folder, folderB : find /home/user/folderA/ -type f -iname "*.txt"... (0 Replies)
Discussion started by: baris35
0 Replies

10. UNIX for Beginners Questions & Answers

Search strings from a file in files in a directory recursively; then print the string with a status

Hi All, I hope somebody would be able to help me. I would need to search a string coming from a file, example file.txt: dog cat goat horse fish For every string, I would need to know if there are any files inside a directory(recursively) that contains the string regardless of case.... (9 Replies)
Discussion started by: kokoro
9 Replies
ZIP_NAME_LOCATE(3)					     Library Functions Manual						ZIP_NAME_LOCATE(3)

NAME
zip_name_locate - get index of file by name LIBRARY
libzip (-lzip) SYNOPSIS
#include <zip.h> int zip_name_locate(struct zip *archive, const char *fname, int flags); DESCRIPTION
The zip_name_locate function returns the index of the file named fname in archive. If archive does not contain a file with that name, -1 is returned. The are specified by or'ing the following values, or 0 for none of them. ZIP_FL_NOCASE Ignore case distinctions. ZIP_FL_NODIR Ignore directory part of file name in archive. RETURN VALUES
zip_name_locate returns the index of the file named fname or -1, if archive does not contain an entry of that name. ERRORS
The zip_name_locate function fails and sets the error information to ZIP_ER_NOENT if no entry of the name fname is found in the archive. If one of the arguments is invalid, the error information is set to ZIP_ER_INVAL. SEE ALSO
libzip(3), zip_get_name(3) AUTHORS
Dieter Baron <dillo@giga.or.at> and Thomas Klausner <tk@giga.or.at> NiH October 4, 2006 ZIP_NAME_LOCATE(3)
All times are GMT -4. The time now is 02:22 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy