我想在我的文件
中用回车符(char 13)替换垂直制表符(char 11)(我从Filemaker导出,它将字段中的回车符转换为垂直制表符)
我认为这样可行,但事实并非如此:
/usr/bin/perl -i -pe 's/\\011/\\013/g' foo.txt
非常感谢任何帮助!
答案 0 :(得分:2)
regexp中的双反斜杠匹配输入中的单个反斜杠。您正在用4个字符的序列\011
替换文字4个字符的字符串\013
。如果您的输入包含实际的垂直制表符,而不是它们的反斜杠 - 八进制表示,则应该加倍模式中的反斜杠。
答案 1 :(得分:1)
或者使用tr:
mv foo.txt foo.txt.bak
tr '\v' '\r' <foo.txt.bak >foo.txt
答案 2 :(得分:0)
如果你对perl以外的解决方案持开放态度,你可以使用sed:
sed -i "s/|/\n/" foo.txt