aboutsummaryrefslogtreecommitdiff
path: root/bin/slsf.awk
diff options
context:
space:
mode:
Diffstat (limited to 'bin/slsf.awk')
-rw-r--r--bin/slsf.awk10
1 files changed, 10 insertions, 0 deletions
diff --git a/bin/slsf.awk b/bin/slsf.awk
new file mode 100644
index 00000000..9d12225d
--- /dev/null
+++ b/bin/slsf.awk
@@ -0,0 +1,10 @@
+# Print the first non-glob "Host" name from each line of ssh_config(5) files
+
+# Manage the processing flag (starts set in each file)
+FNR == 1 || /### sls/ { sls = 1 }
+/### nosls/ { sls = 0 }
+
+# If processing flag set, directive is "Host", and hostname has no wildcards,
+# then print it
+!sls { next }
+$1 == "Host" && $2 !~ /\*/ { print $2 }