#!/bin/bash if [[ $# -ne 1 ]]; then echo "No file specified" exit fi FILE=$1 #public properties egrep 'public \$[a-zA-Z_]' $FILE | tr -d '$;=[]' | awk '{print "+ " $2}' echo #private properties egrep 'private \$[a-zA-Z_]' $FILE | tr -d '$;=[]' | awk '{print "- " $2}' echo "-------------------------------------------------------------" #getters egrep 'public function get[A-Za-z]' $FILE | tr -d ':' | awk '{print "+ " $3}' echo #setters egrep 'public function set[A-Za-z]' $FILE | tr -d '$:=[]?' | awk '{$1=""; $2=""; $NF=""; gsub(/^[ \t]+/, "", $0); print "+ " $0}' | sed 's/[[:space:]])/)/g' echo #public functions egrep 'public function [^set|get][A-Za-z]' $FILE | tr -d '$:=[]?' | awk '{$1=""; $2=""; $NF=""; gsub(/^[ \t]+/, "", $0); print "+ " $0}' | sed 's/[[:space:]])/)/g' echo #private functions egrep 'private function [^set|get][A-Za-z]' $FILE | tr -d '$:=[]?' | awk '{$1=""; $2=""; $NF=""; gsub(/^[ \t]+/, "", $0); print "+ " $0}' | sed 's/[[:space:]])/)/g' echo