Posts Tagged ‘regular’

Bash Script 1.1

SCRIPT 1.1

#!/bin/bash

set -e
set -u

_SRC_ROOT=/src/config/redhat

function list_src_dirs {

find $_SRC_ROOT -type d -printf ‘%m\t%u\t%g\t%p\n’ 2>/dev/null | \
sed  ‘/\/__/d; /RCS$/d’

}

# Adding a second function to filter group and permissions

function list_src_dirs_perm_err {

list_src_dirs | sed -nr ‘/\t(source|sys)\t/p’ | sed -r ‘/^277[05]/d’ | sort -k 2

}

list_src_dirs_perm_err

Now we are using the first function (function list_src_dirs) in the next function list_src_dirs_perm_err, getting further into the output we actually need.

sed -nr ‘/\t(source|sys)\t/p’ (-n output the following filter -r extended sed) this line prints the lines which have source or sys as the group (word preceeded with a tab)

sed -r ‘/^277[05]/d’ – excludes the following numbers that start from the beginning of the line (^) 2770 or 2775, this is looking at the permissions octal output. Worth remembering that sed looks at the whole line as the output.

sort -k 2 – sorts the second key (second column) which in this case is the username, making the output in alphabetical order.

Advertisements