I want to loop through a directory with many subdirectories that have hidden files. I want to loop the directory and open only files that have some certain permission, "drwx—–T+" in this case.
My current script is
#!/bin/sh cd /z/vendors #vendors has a list of directories which contain hidden files for FILE in *; do if [ <what should i put here to select files with permission "drwx-----T+">]; then cd "$FILE" #and do something here e.g open the hidden files cd .. fi done
I don’t know what test condition to use, I know the command
ls -l | grep "drwx-----T+" will list the files I need but how can I include this in the
The exit status of
grep indicates whether the input matched the pattern. So you can use it as the condition in
if ls -ld "$FILE" | grep -q -F 'drwx-----T+'; then # do what you want fi
-q option prevents
grep from printing the match, and
-F makes it match a fixed string rather than treating it as a regular expression (
+ has special meaning in regexp).