Board logo

标题: [文本处理] 批处理如何去除每行后面的换行回车符? [打印本页]

作者: lilarcor    时间: 2011-4-11 12:03     标题: 批处理如何去除每行后面的换行回车符?

  1. sed -e 's/.$//' mydos.txt > myunix.txt
复制代码
用了这个命令,出来的是空的文本

求助
作者: lilarcor    时间: 2011-4-11 12:07

晕啊,原来' 换成"就好了,http://bbs.bathome.net/thread-1929-1-1.html
帖子里误导啊
作者: hfg1977    时间: 2011-4-11 17:12

  1. sed -e 's/.$//' mydos.txt > myunix.txt
复制代码


这个命令并不是"去除每行后面的换行回车符",而是"去除结尾的一个字符(英文)"
你不要误导别人呀.
正确的用法是:
  1. sed -i ':a;N;s/\n/ /;ba;' temp1 换行转为空格
  2. sed  'N;N;N;s/\n/\t/g'  file 合并,每4行合并成1行
  3. sed "1,2N;s/\n/\t/" file 只合并第一行和第二行
复制代码

作者: lilarcor    时间: 2011-4-11 17:50

sed -i ':a;N;s/\n/ /;ba;' temp1                换行转为空格

这个是不行的,试过了
作者: hfg1977    时间: 2011-4-11 18:00

sed -i ':a;N;s/\n/ /;ba;' temp1                换行转为空格

这个是不行的,试过了
lilarcor 发表于 2011-4-11 17:50

  1. sed -i ":a;N;s/\n/ /;ba;" temp1
复制代码


"'"--->""" 变通一下呀.
作者: Batcher    时间: 2011-4-11 20:18

4# lilarcor


Windows里面的sed、gawk等,不能像UNIX里面那样使用单引号,必须用双引号。
作者: CrLf    时间: 2011-4-11 20:45

4# lilarcor


Windows里面的sed、gawk的,不能像UNIX里面那样使用单引号,必须用双引号。
Batcher 发表于 2011-4-11 20:18

原来如此
作者: lilarcor    时间: 2011-4-12 09:04

sed -i ":a;N;s/\n/ /;ba;" temp1

"'"--->""" 变通一下呀.
hfg1977 发表于 2011-4-11 18:00


还是不行的,不信你试试看




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2