diff --git a/tools/pre-commit-hook b/tools/pre-commit-hook
index 475e0591268cb44f1bdb7bbef22e8c1a3da1c2bf..a136b97b466cf98619fb85c12cf6fc1ca04d1d3c 100755
--- a/tools/pre-commit-hook
+++ b/tools/pre-commit-hook
@@ -5,7 +5,7 @@ RES=0
 
 cd $TOPLEVEL
 
-if [ "$1" == "--install" ]; then
+if [ "$1" = "--install" ]; then
     ln -sf ../../tools/pre-commit-hook .git/hooks/pre-commit
     exit
 fi
@@ -26,26 +26,19 @@ find . -type f
 
 echo "=== bashate checks ==="
 
-find . -type f -print0 |
-    xargs -0 --no-run-if-empty egrep -lZ '^#!/bin/(ba)?sh' |
-    xargs -0 bashate || RES=1
+files=$(egrep -rlI '^#!/(bin/|usr/bin/env )(ba)?sh' .)
+[ "$files" ] && (bashate $files || RES=1)
 
 echo "=== yaml checks ==="
 
-find . -name '*.yaml' -print0 |
-    xargs -0 --no-run-if-empty ${TOPLEVEL}/tools/validate-yaml.py \
-        || RES = 1
+${TOPLEVEL}/tools/validate-all-yaml.sh || RES=1
 
 echo "=== json checks ==="
 
-find . -name '*.json' -print0 |
-    xargs -0 --no-run-if-empty ${TOPLEVEL}/tools/validate-json.py \
-        || RES=1
+${TOPLEVEL}/tools/validate-all-json.sh || RES=1
 
 echo "=== maintainer checks ==="
 
-find . -name Dockerfile -print0 |
-    xargs -0 --no-run-if-empty ${TOPLEVEL}/tools/validate-maintainer \
-        || RES=1
+${TOPLEVEL}/tools/validate-all-maintainer.sh || RES=1
 
 exit $RES
diff --git a/tools/validate-json.sh b/tools/validate-json.sh
deleted file mode 100755
index 296ef781c6f09f38413add90414ab72bc7dba0a4..0000000000000000000000000000000000000000
--- a/tools/validate-json.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-true