#!/bin/sh # This will ensure that entries only appear once (for the most # recent time in the sequence) in ~/.directory_history. This # loses a lot of history, so be sure it's what you want. For # the moment, my use case for that file is basic the h() function # in ~/.sh_common for navigating dirs, so this is fine. # Will totally break if a filename contains a newline. # See moreutils for sponge(1). # reverse order, # print only the first instance of a line, # reverse order again, # write back to the file tac ~/.directory_history | unsorted-unique | tac | sponge ~/.directory_history