Второй терминал без истории

Вы правильно используете tr . Но вам необходимо выполнить sort , прежде чем использовать uniq , потому что uniq просматривает только соседние строки. Итак, у нас есть

cat file.txt | sort | uniq -c | sort -r | awk '{print $2, $1}' | head -n 10

Также, как вы можете видеть, использование -k и -n для сортировки в этом случае не нужно (хотя и не ошибочно).

5
26.03.2017, 14:49
2 ответа

Чтобы не записывать историю, вы можете ввести unset HISTFILE в текущем сеансе (для bash)

1
27.01.2020, 20:34

Зависит от оболочка. В Bash вы можете управлять историей двумя способами :

  • Отключить сохранение истории с помощью set + o history и повторно включить его с помощью set -o history (обратите внимание на перевернутые плюс и минус). Если история отключена, введенные команды не будут сохраняться в журнале истории, но будут доступны предыдущие.

  • Задайте файл, используемый для сохранения истории, установив HISTFILE ( HISTFILE = ~ / somehistoryfile ). Вы можете полностью отключить его, сняв значение переменной с помощью unset HISTFILE . Если вы отключите файл истории, у вас по-прежнему будет доступ к истории выполнения во время работы оболочки. Вы также можете установить HISTFILESIZE , чтобы контролировать количество команд, сохраняемых в файле.

  • Предотвратить сохранение определенных команд в истории с помощью HISTCONTROL и / или HISTIGNORE . Установка для HISTCONTROL значения ignorespace укажет оболочке не сохранять командные строки, начинающиеся с пробела. HISTIGNORE может содержать шаблоны команд, которые не следует сохранять в истории. например HISTIGNORE = 'ls: ls *' предотвратит сохранение строк, содержащих только ls или ls , пробел и все, что после него.

Для оболочки, страдающей амнезией, вам нужно будет применить одну из этих настроек либо вручную при открытии оболочки, либо установить их в каком-либо сценарии запуска оболочки.

Один из вариантов - создать, скажем, ~ / .bashrc.nohist с:

# include the standard startup files as --rcfile will override them
if [ -f /etc/bash.bashrc ] ; then
    . /etc/bash.bashrc 
fi
if [ -f ~/.bashrc ] ; then
    .  ~/.bashrc
fi
# disable history completely
HISTSIZE=0
# disable the history file
unset HISTFILE
# we could even set a reminder in the prompt
PS1="[nohist] $PS1"

, а затем настроить запуск оболочки с помощью bash --rcfile ~ / .bashrc.nohist . Настройте сценарий по вкусу.

10
27.01.2020, 20:34

Теги

Похожие вопросы