Files
artix-install-script/programs/zsh-histclean/histclean
T

24 lines
595 B
Bash
Executable File

#!/usr/bin/env zsh
echo 'Starting history size:'
ls -lh ~/.cache/zsh-histfile | cut -d " " -f5
hist=()
while IFS= read -r line; do
if [[ $line == "./"* || $line == "/"* ]]; then
hist+=($line)
elif [[ $line != "histclean" ]]; then
which $(echo $line | cut -d " " -f1) > /dev/null
[[ $? == 0 ]] && hist+=($line)
fi
done < "$XDG_CACHE_HOME"/zsh-histfile
echo -n "" > "$XDG_CACHE_HOME"/zsh-histfile
for item in "${hist[@]}"; do
echo "$item" >> "$XDG_CACHE_HOME"/zsh-histfile
done
echo 'Ending history size:'
ls -lh ~/.cache/zsh-histfile | cut -d " " -f5