2015-05-26 3 views
0

У меня есть файл с содержимым, которое содержит значения ^B и ^A. Этот файл имеет расширение .tsv, но значения разделяются ^A и ^B. Я хочу добавить больше строк в этот файл с теми же разделительными значениями, но я не уверен, что значения ^A и ^B.^A и^B отдельные значения

Я читал вокруг, и я думаю, что ^A также может быть представлен в виде \001

enter image description here

enter image description here

Я не уверен, как воссоздать balues ​​^A и ^B. Я попытался ввести contrl + A и control + B, но я не получаю одинаковые выходы. Также попробовал \ 001, но я все еще не могу его воссоздать.

+0

если таковые не фактические символы (например, '^' и 'A' что вы можете пропустить курсор), то они, вероятно, управляют символами: ctrl-A и ctrl-B./ –

+0

Если это Ctrl-A и Ctrl-B, то значения ASCII равны 1 и 2 соответственно. 'hexdump' расскажет вам, что используется. –

+0

@HoboSapiens Я попробовал c/p строку с '^ A' в другой файл, а затем' hexdump' новый файл. Однако я не уверен, что это сработает, потому что я думаю, что он копирует '^ A' как строку. http://dpaste.com/35Z9MH4 – Liondancer

ответ

2

^A и ^B: caret notation для символов управления ASCII 1 и 2 соответственно.

Нет универсального способа ввода этих данных. Вот несколько вариантов:

  • Bash: echo $'foo\001bar\002baz' >> file

    Это добавляет "Foo ^A бар ^B Баз" в файл.

  • Вим: Ctrl + VCtrl +

    В режиме вставки, это вставляет ^A (и аналогично для B)

  • Emacs: Ctrl + QCTRL +

    Это вставляет ^A (и аналогично для B)

Вы также можете просто скопировать и вставить эти символы в любом графическом редакторе. Однако, если вы используете текстовый редактор на основе терминала, вам нужно использовать элементы управления редактора вместо мыши для их копирования и вставки.

2

Вы можете использовать команду «tr», чтобы создать временный файл, отредактировать его и вернуть в исходное. Требуется, чтобы в исходных данных не было двух символов (~ и% в этом примере).

Первый перевод, чтобы избавиться от символов оскорбительных:

tr "\001\002" "~%" < original-File > temp-file 

Edit «ТЕМП-файл», как вам нужно.

Перевести назад к оригиналу:

tr "~%" "\001\002" < temp-file > modified-file 

Вы можете проверить оригинал и проверить работу с:

hexdump -C file 
Смежные вопросы