spam-ascii: "*" dumps entire ~/ascii; alias quotes $0 to preserve it
Some checks failed
Close stale issues / stale (push) Has been cancelled
Some checks failed
Close stale issues / stale (push) Has been cancelled
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
# spam-ascii — cat a file from ~/ascii given a partial/fuzzy name.
|
||||
#
|
||||
# Resolution order:
|
||||
# 0. pattern `*` → cat every file in ~/ascii (sorted)
|
||||
# 1. exact filename match: ~/ascii/<pattern>
|
||||
# 2. exact name + common extension: <pattern>.txt, .ans, .asc
|
||||
# 3. first case-insensitive *substring* match (sorted alphabetically)
|
||||
@@ -14,12 +15,20 @@ set -eu
|
||||
|
||||
pattern=${1:-}
|
||||
if [ -z "$pattern" ]; then
|
||||
echo "usage: spam-ascii <pattern>"
|
||||
echo "usage: spam-ascii <pattern> (pattern `*` dumps everything)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
dir="$HOME/ascii"
|
||||
|
||||
# 0. `*` → dump the whole collection.
|
||||
if [ "$pattern" = "*" ]; then
|
||||
find -L "$dir" -maxdepth 1 -type f -print0 2>/dev/null \
|
||||
| sort -z \
|
||||
| xargs -0 cat
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 1 + 2. Try exact name, then exact + common ASCII-art extensions.
|
||||
for candidate in \
|
||||
"$dir/$pattern" \
|
||||
|
||||
Reference in New Issue
Block a user