Solución usandojoin
:
join file1.txt file2.txt -e null -o auto -a 1 2>/dev/null
No está claro en las páginas man, pero la opción -e
solo funciona con -o
.
(Предположим, вы используете Linux. )Используйте echo $$
, чтобы получить PID вашей текущей оболочки. Откройте новый терминал и запустите:
sudo strace -fp <PID> -o log
Вернитесь к старой оболочке, попробуйте автодополнение с помощью табуляции. Затем переключитесь на новый терминал и нажмите CtrlC для завершения strace
. Вывод будет в файле с именем log
. Вы также можете запустить команду strace
в той же оболочке (, сначала аутентифицируясь в sudo
для кэширования учетных данных ):
sudo -v
sudo strace -fp $$ -o log &
А затем попробуйте автодополнение с помощью табуляции. Чтобы убить его, fg
, а затем CtrlC .
Однако, если вы используете bash, возможно, лучше сначала попытаться получить от него подробные отладочные данные:
set -o functrace xtrace
PS4=' ${BASH_SOURCE}:$FUNCNAME:$LINENO: '
А затем попробуйте автодополнение с помощью табуляции. Вы должны указать все, что функция завершения выполняет в последующем выводе. Например:
bash-5.0$ set -o xtrace functrace
bash-5.0$ PS4=' ${BASH_SOURCE}:${FUNCNAME}:$LINENO: '
+ PS4=' ${BASH_SOURCE}:${FUNCNAME}:$LINENO: '
bash-5.0$ sudo su /usr/local/share/bash-completion/bash_completion:_completion_loader:3: local cmd=sudo
/usr/local/share/bash-completion/bash_completion:_completion_loader:5: __load_completion sudo
/usr/local/share/bash-completion/bash_completion:__load_completion:2: dirs=(${BASH_COMPLETION_USER_DIR:-${XDG_DATA_HOME:-$HOME/.local/share}/bash-completion}/completions)
/usr/local/share/bash-completion/bash_completion:__load_completion:2: local -a dirs
/usr/local/share/bash-completion/bash_completion:__load_completion:3: local 'OIFS=
' IFS=: dir cmd=sudo compfile
/usr/local/share/bash-completion/bash_completion:__load_completion:2021: for dir in ${XDG_DATA_DIRS:-/usr/local/share:/usr/share}
/usr/local/share/bash-completion/bash_completion:__load_completion:5: dirs+=($dir/bash-completion/completions)
/usr/local/share/bash-completion/bash_completion:__load_completion:2021: for dir in ${XDG_DATA_DIRS:-/usr/local/share:/usr/share}
/usr/local/share/bash-completion/bash_completion:__load_completion:5: dirs+=($dir/bash-completion/completions)
/usr/local/share/bash-completion/bash_completion:__load_completion:7: IFS='
'
/usr/local/share/bash-completion/bash_completion:__load_completion:9: [[ /usr/local/share/bash-completion/bash_completion == */* ]]