находить метки вопроса, когда foundb содержит определенные символы (вкладки), если вывод не передан по каналам

Я locatedb свой собственный locatedb с помощью frcode поэтому он будет содержать файлы после путей (это помогает мне быстро искать большие файлы). Я сохраняю путь, отделенный от размера символом табуляции. Я заметил, что если я использую локализацию в командной строке, я получаю ? (вопросительный знак), где должна быть вкладка, если я не буду ее пересылать на cat , что является странным. Кто-нибудь знает, почему это?

 $ mkdir test-locatedb && cd test-locatedb $ touch abcdefg $ du -a | awk -v 'OFS=\t' '{print $2,$1}' | /path/to/frcode > test.locatedb $ locate --database=test.locatedb a ./test.locatedb?1 ./a?1 $ locate --database=test.locatedb a | cat ./a 1 ./test.locatedb 1 $ /usr/lib/locate/frcode -v frcode (GNU findutils) 4.4.2 ... 

One Solution collect form web for “находить метки вопроса, когда foundb содержит определенные символы (вкладки), если вывод не передан по каналам”

Я подозревал, что это закодировано в locate , проверяя, является ли вывод stdout или нет. И действительно, locate имеет условие для замены непечатаемых символов вопросительными знаками, когда вывод – tty (см. printquoted.c и qmark.c ). Он считает, что пробелы в диапазоне символов управления ASCII также не подлежат печати. Я думаю, что это несчастливо, поскольку никто не ожидал, что выход на терминал изменится при прохождении через cat . Это справедливо и для findutils 4.6.0. Я отправил отчет об ошибке .

  • Создание tty9 на openvz VE
  • Как отключить монитор под TTY
  • Как использовать команду «screen», если я не знаю, из чего взялась программа ps или tty?
  • Systemd зависает перед TTY во время загрузки в archlinux
  • Как я могу перенаправить ввод и вывод команды через VNC?
  • Можно ли открыть терминал с указанными tty / pty
  • В чем разница между управляющими символами ^ S и ^ Z внутри терминала?
  • tty и grub загружаются нечитабельно с nvidia K1100M на zbook 15 g2 с Intel
  • Почему `last` show '{' и '|' в поле TTY?
  • найти устройство из его файла tty?
  • Почему для выхода из `cat` нужны два нажатия D?
  • Linux и Unix - лучшая ОС в мире.