在编辑 unix 文件时,我在 vi 编辑器中获取如下数据。
MGW:^FVMG107
MGW:^FVMG113
MGW:^FVMG108
MGW:^FVMG103
Run Code Online (Sandbox Code Playgroud)
上面的数据^F在cat命令中是不可见的。我也试过dos2unix& sed,但它仍然存在。我怎样才能删除^F
Áng*_*gel 15
^F vim 是否告诉您那里有一个不可打印的字符 0x06(F 是字母表的第六个字母,它们的范围是:'^@'、'^A'、'^B'...'^Y'、'^ Z'. '^[', '^\', '^]', '^^', '^_')
我在 vim、nano、joe 中以图形方式删除它没有问题……但是如果你更喜欢命令行方法,知道它是字符 0x06,你可以使用sed -i 's/\x06//g' filename它来删除它。
PS:恐怕删除 ^F 的 polym 解决方案cat -v仅在您的文件没有任何其他无法打印的字符时才有效,这些字符会被损坏。
编辑:正如Angel提到的,您不应该使用此解决方案,因为它可能会产生不需要的更改。
他的解决方案(hex( ^F)== \x06):
sed -i 's/\x06//g' filename
Run Code Online (Sandbox Code Playgroud)
我的(不正确的)解决方案:
cat -v oldfile | sed 's/\^F//g' > newfile
Run Code Online (Sandbox Code Playgroud)
应该这样做。