我的文件内容由^B
和^A
值分隔。此文件的扩展名为.tsv
,但值由^A
和^B
分隔。我想使用相同的分隔值为此文件添加更多行,但我不确定^A
和^B
的值是什么。
我四处阅读,我认为^A
也可以表示为\001
我不确定如何重新制作栏杆^A
和^B
。我尝试输入contrl + A
和control + B
,但我没有得到相同的输出。也试过\ 001但我似乎还无法重新创建它。
答案 0 :(得分:2)
Rational
和^A
分别为caret notation。
没有通用的方法来输入这些内容。以下是一些选项:
击:
^B
这会附加" foo echo $'foo\001bar\002baz' >> file
栏^A
baz"到文件。
Vim: Ctrl + V Ctrl + A
在插入模式下,这会插入^B
(类似地为B)
Emacs: Ctrl + Q Ctrl + A
这会插入^A
(类似于B)
您也可以在任何图形编辑器中复制粘贴这些字符。但是,如果使用基于终端的文本编辑器,则必须使用编辑器的键盘控件而不是鼠标来复制/粘贴它们。
答案 1 :(得分:2)
您可以使用“tr”命令制作临时文件,编辑它然后将其恢复为原始文件。要求您有两个不在原始数据中的字符(在此示例中为〜和%)。
首先翻译以消除违规字符:
tr "\001\002" "~%" < original-File > temp-file
根据需要编辑“临时文件”。
翻译回原文:
tr "~%" "\001\002" < temp-file > modified-file
您可以查看原件并检查您的工作:
hexdump -C file