You can use disjunctions in
find expressions to implement conditional processing; with GNU
find pc* -type d -printf "%p/\n" -o -print
will find everything in paths starting with the files and directories matching “pc*”, and print their names, followed by a “/” if they’re directories.
The way this works is as follows:
pc* specifies the paths to start from;
-type d matches directories;
-printf "%p/\n" prints the path to the currently-processed file, followed by “/” and a newline; because it follows
-type d, it is only executed if
-type d matched (there’s an implicit conjunction);
-o introduces a disjunction: the expression following it will be evaluated if the expression preceding it did not match (and the expression preceding it is
-type d -printf "%p/\n" here, because conjunctions have higher precedence than disjunctions);
-print prints the path to the currently-processed file.
Showing all directories matching case-insensitive “arthur” can be done using other
find . -type d -iname "*arthur*"