我正在尝试使用带有分隔符Control A的cut命令从file1到file2获取一些列.
这是我试过的:
cut -d^A -f2-8 a.dat > b.dat
Run Code Online (Sandbox Code Playgroud)
如果我的记录是这样的:
A^AB^AC^AD^AE^AF^AG^AH^A$
Run Code Online (Sandbox Code Playgroud)
我的命令给出:
AB^AC^AD^AE^AF^AG^AH
Run Code Online (Sandbox Code Playgroud)
我的命令错了还是我以错误的方式划分了分隔符?
因此它将Control-A的A留在了起点.
kon*_*box 11
^A是ASCII表中的字符编号1,也就是Start of Heading字符.如果你正在使用bash,你可以这样:
cut -f 2-8 -d $'\x01'
Run Code Online (Sandbox Code Playgroud)
或者使用printf(可以内置或外部二进制):
CTRL_A=$(printf '\x01')
cut -f 2-8 -d "$CTRL_A"
Run Code Online (Sandbox Code Playgroud)
您还可以使用以下方式验证输出hexdump:
hexdump -C b.dat
Run Code Online (Sandbox Code Playgroud)