Eu tenho um script de status rcs herdado:
#!/bin/bash
find ${@:-.} -type f |
sed '\;/RCS/;d' |
while read file
do msg=
if [ -z "$(rlog -R "$file" 2>/dev/null)" ]
then msg="$msg no RCS"
else if co -q -kk -p "$file" | cmp -s - "$file" ||
co -q -p "$file" | cmp -s - "$file"
then msg="$msg same"
else msg="$msg differs"
fi
if [ -z "$(rlog -L -R "$file")" ]
then msg="$msg not locked"
else msg="$msg locked"
user=$(rlog -h "$file" |
awk '/locks:/{ getline;
sub(":"," "); print $1 }')
if [ -n "$user" ]
then msg="$msg by $user"
fi
fi
fi
if [ -w "$file" ]
then msg="$msg writeable"
fi
echo "$file: $msg"
done
Dê a ele um diretório ou arquivos e ele produzirá resultados como
whenerror: same not locked
kshrc: same not locked writeable
mylua.lua: no RCS writeable
subshell: differs locked by meuh writeable
mshrc: differs locked by meuh
onde "mesmo não bloqueado" significa que ele é registrado e somente leitura, normalmente o estado desejado.