#bash
#bash
Вопрос:
Что я хочу сделать, так это скопировать выходные данные, как вы бы сделали с копипастой вручную. В основном это означает, что нераспознанные символы будут сохранены как? или как они отображаются, а не как их коды символов. Есть ли какой-либо способ сделать это?
Комментарии:
1.
man cat
сказал бы вам,cat -v
что это хороший вариант.2. Не работает, это похоже на обычный
cat
.3. Что вы действительно хотите сделать ?
Ответ №1:
Если вы хотите что-то скопировать и вставить вручную, то есть используя что-то вроде буфера обмена, то это зависит от операционной системы, и это не вопрос bash.
Например, в macOS X вы можете:
echo $filename | pbcopy #pbcopy - save the output from echo to clipboard
find / -name 'pbpaste` #pbpaste - print the clipboard content
Уверен, что в Linux тоже есть что-то подобное. (xclip или около того)
как сказал вам Эрик, если вы сделаете
some_command > outfile ; cat outfile
это то же самое, что
some_command #plain output to terminal.
в файле «outfile» вы получите именно выходные данные терминала. (ожидайте некоторых редких случаев)
и пусть вас не смущает «less» или некоторые другие пейджеры, которым действительно следует заменить непечатаемые символы на что-то другое.
и, наконец, — если у вас возникли проблемы с кодовой страницей или около того, попробуйте настроить переменные среды, такие как LANG, LC_ALL и LESSCHARSET (man less) и так далее..
конфигурация bash
set meta-flag on
set input-meta on
set output-meta on
set convert-meta off
в некоторых случаях тоже должно помочь. (man bash)
Попробуйте сформулировать свой вопрос более точно. 🙂
Ответ №2:
Если бы у вас были примеры того, что вы пытаетесь решить, я мог бы быть более конкретным.
Прямо сейчас я могу указать вам только на
- less -SR (показать интерпретацию экранирования ANSI)
- ansifilter для преобразования текста, экранированного ANSI, в обычный текст (или HTML и т.д.)
- iconv, например
.
cat myfile | iconv -f utf8 -t iso8859-1
Конечно, с этим последним, замените все используемые вами наборы символов
Обновить
Я только что разработал две наиболее вероятные настройки, которые будут делать то, что, я думаю, вы описываете:
cat position | iconv -t latin1//TRANSLIT
cat position | iconv -t ASCII//TRANSLIT
Если у вас есть файл с поддержкой UNICODE position
, подобный этому:
--> Applying move 131, ply 262: Q d3 - e2 Checkmate .
... situation after:
⒏ ┊. . . . . . . .
⒎ ┊. . ♟ . . . . .
⒍ ┊. . ♙ . . . . .
⒌ ┊. . ♙ . ♙ . . ♟
⒋ ┊. . . . ♘ ♜ . ♚
⒊ ┊. . . ▫ . . . .
⒉ ┊. ♜ . . ♛ . . .
⒈ ┊. . . . ♔ . ♗ .
└────────────────
Ⓐ Ⓑ Ⓒ Ⓓ Ⓔ Ⓕ Ⓖ Ⓗ
Приведет к этому:
--> Applying move 131, ply 262: Q d3 - e2 Checkmate .
... situation after:
8. ?. . . . . . . .
7. ?. . ? . . . . .
6. ?. . ? . . . . .
5. ?. . ? . ? . . ?
4. ?. . . . ? ? . ?
3. ?. . . ? . . . .
2. ?. ? . . ? . . .
1. ?. . . . ? . ? .
----------------
(A) (B) (C) (D) (E) (F) (G) (H)
Комментарии:
1. Добавлен полный сэмпл с
iconv
и//TRANSLIT