windows和linux中任意字符串替换成换行符的问题

在windows中经常碰到要把任意符号转换成回车符的问题,在linux中这个问题很容易解决:

\r  回车

\n 换行

linux中\n表示一个新的行,windows中\r\n表示一个新的行。

sed 's/oldStr/newStr/' oldfile > newfile 

例子:

sed 's/,/\\n/' oldfile > newfile

 

但是在windows下貌似很能解决这个问题,但是办法总是人想出来的,利用UltraEdit-32的快捷键Ctrl+H切换到16进制的编辑模式就可以解决这个问题了。这里举个简单的例子:

文件中现在存放着下面这样的数据,现在我们想要做的就是把',' 逗号转换成回车换行,怎么做能?

1,2,3
4,5,6

在UltraEdit-32中编辑它,切换到16进制的编辑模式,显示如下

00000000h: 31 2C 32 2C 33 0D 0A 34 2C 35 2C 36 2C 36        ;1,2,3..4,5,6

31表示01,2C表示逗号,0D 0A表示回车换行,所以现在问题变得简单了,选择编辑-替换

把所有的2C替换成0D 0A这样就实现了把逗号替换成回车换行的功能。

有个更简单的方法就是^r^n表示回车换行,^t表示Tab键

如果想替换换行可以用^p

 

你可能感兴趣的:(linux-shell)