Исправление Deleted, (текущая версия) :
Так что не спасает эта опция....
Ты бы поточнее описал проблему, тебе бы поточнее помогли. Опция спасает от повторов в пределах одной оболочки. Если у тебя там уже куча повторов записана, или если ты пишешь историю из нескольких оболочек сразу, она не поможет.
Чтобы избавиться от повторов вообще, я использую такое:
function dedup {
awk '! x[$0]++' $@
}
function history_cleanup {
printf "Записей в истории было: %s\n" "`history | wc -l`"
local HISTFILE_SRC="${HISTFILE}"
local HISTFILE_TMP="${HISTFILE}_dedup"
if [[ -f "$HISTFILE_SRC" ]] ; then
cp "$HISTFILE_SRC" "$HISTFILE_SRC.backup" && \
(tac < $HISTFILE_SRC | dedup | tac > "$HISTFILE_TMP") && test -s "$HISTFILE_TMP" && \
mv "$HISTFILE_TMP" "$HISTFILE_SRC"
history -c
history -r
fi
printf "Стало: %s\n" "`history | wc -l`"
}
Исходная версия Deleted, :
Так что не спасает эта опция....
Ты бы поточнее описал проблему, тебе бы поточнее помогли. Опция спасает от повторов в пределах одной оболочки. Если у тебя там уже куча повторов записана, или если ты пишешь историю из нескольких оболочек сразу, она не поможет.
Чтобы избавиться от повторов вообще, я использую такое:
function history_cleanup {
printf "Записей в истории было: %s\n" "`history | wc -l`"
local HISTFILE_SRC="${HISTFILE}"
local HISTFILE_TMP="${HISTFILE}_dedup"
if [[ -f "$HISTFILE_SRC" ]] ; then
cp "$HISTFILE_SRC" "$HISTFILE_SRC.backup" && \
(tac < $HISTFILE_SRC | dedup | tac > "$HISTFILE_TMP") && test -s "$HISTFILE_TMP" && \
mv "$HISTFILE_TMP" "$HISTFILE_SRC"
history -c
history -r
fi
printf "Стало: %s\n" "`history | wc -l`"
}