I wonder how this sort of thing compares with asking claude to read a ctags file. I have git hooks set up to keep my tags up to date automatically, so that data is already lying around.
# Sort list by most common terms
alias sorn='sort | uniq -c | sort -n'
# Most common IP addresses:
$ cat access_log | awk '{ print $2 }' | sorn
# Last 30 modified files.
function new() {
ls -lat "$@" | head -30 ;
}
# I just downloaded something, where is it?
$ new ~/Downloads function import_bash_aliases --description 'bash aliases to .fish function files.'
for a in (cat ~/.bashrc | grep "^alias")
set aname (echo $a | grep -Eoe "[a-z0-9]+=" | sed 's/=//')
set command (echo $a | sed 's/^alias .*=//' \
| sed 's/^ *\'//' | sed 's/\' *$//' )
echo "Processing alias $aname as $command"
if test -f ~/.config/fish/functions/$aname.fish
echo Function $aname is already defined. Skipping...
else
alias $aname $command
funcsave $aname
end
end
end