I have the pattern something like “keyword : Multinode”. Now, I need to search this pattern in all the files in a directory. If we found the pattern in any of the file, a non empty-string should be returned. It may contain file-name or directory name
In shell scripting the following will do the same
KeyMnode=grep -w "keyword : Multinode" ${dirname}/*
I thought of using find(subroutine,directory_path) and inside the sub-routine I want to traverse through the entire directory for all its entries. For every entry I want to put a check whether it is a readable file or not. If the file is readable, I want to search for the required pattern “keyword : Multinode” in the file found. If we hit with a success, the entire find command should result in a non-empty string(preferably only the existing directory Name) otherwise with an empty string. Please let me know if you need any further information.
I want this to be done using perl. Please help me with the solution.
Here are some Perl tools that will be useful in doing what you described:
\&wantedcallback in the docs) against each one to determine whether it meets your criteria or not-roperator will tell you whether a file is readable (if (-r $file_name)...)<$fh>will read its contents so that you can check with a regular expression whether they match your target pattern\bto the beginning and end of the pattern will cause it to match only at word boundaries, similar togrep‘s-wswitchIf you have more specific issues, please post additional questions with code that demonstrates them, including statements both of what you expected to happen and of how the actual results differed from your expectation and we’ll be happy to help resolve those issues.
Edit: Cleaned up and runnable version of code from comment: