25 lines
747 B
Bash
Executable file
25 lines
747 B
Bash
Executable file
#!/bin/bash
|
|
|
|
export _EXISTS=0
|
|
export _NONEXISTS=0
|
|
export _UNIQUE=0
|
|
|
|
while true ; do
|
|
case "$1" in
|
|
-e|--exists) export _EXISTS=1; shift ;;
|
|
-n|--nonexists) export _NONEXISTS=1; shift ;;
|
|
-a|--all) export _EXISTS=1; export _NONEXISTS=1; shift ;;
|
|
-u|--unique) export _UNIQUE=1; shift ;;
|
|
*) break;
|
|
esac
|
|
done
|
|
|
|
if [ "$_EXISTS" == "0" -a "$_NONEXISTS" == "0" ] ; then
|
|
export _EXISTS=1
|
|
export _NONEXISTS=1
|
|
fi
|
|
|
|
strace -ff -e trace=file "$@" 2>&1 |
|
|
perl -ne 's/^[^"]+"(([^\\"]|\\[\\"nt])*)".*/$1/ && do { '$_EXISTS' and -e $1 and (not '$_UNIQUE' or not $seen{$_}++) and print; '$_NONEXISTS' and ! -e $1 and (not '$_UNIQUE' or not $seen{$_}++) and print };'
|
|
|