Board logo

标题: [问题求助] [已解决]sed三个版本运行都出现问题 [打印本页]

作者: QIAOXINGXING    时间: 2012-3-15 12:23     标题: [已解决]sed三个版本运行都出现问题

http://www.bathome.net/thread-1114-1-1.html
http://bbs.bathome.net/thread-13353-1-1.html
http://bbs.bathome.net/thread-15605-1-1.html
下了三个版本的sed,分别记作:sed414 ,sed407,sed

运行代码:
  1. @echo off
  2. sed s/path/ka\n/g 1.txt
  3. pause
  4. sed407 s/path/ka\n/g 1.txt
  5. pause
  6. sed414 s/path/ka\n/g 1.txt
  7. pause
复制代码
  1. @echo off
  2. sed s/path/ka\n/g 1.txt>2.txt
  3. pause
  4. sed407 s/path/ka\n/g 1.txt>2407.txt
  5. pause
  6. sed414 s/path/ka\n/g 1.txt>2414.txt
  7. pause
复制代码
1.txt的内容:
  1. 11path222
  2. 11path222
  3. 11path222
复制代码
运行结果是:


2.txt
显示是:
复制-粘贴就成了:
11ka
222
11ka
222
11ka
222

2407.txt
显示是:

复制粘贴过来是:
11ka
222
11ka
222
11ka
222

2414.txt
显示、复制过来都是:
11ka
222
11ka
222
11ka
222

对这个表示无法理解。
三个版本都有问题,那我是不是用不成了?
我的机子是xp系统。
作者: find    时间: 2012-3-15 14:03

  1. sed "s/path/ka\n/g" 1.txt | more >2.txt
复制代码

作者: QIAOXINGXING    时间: 2012-3-15 14:19

回复 2# find


    这是什么原因??我的系统有问题??还是大家都一样???
作者: Seder    时间: 2012-3-15 15:26

换行符的问题。sed本来是Linux下的工具,这种操作系统是以换行符作为显示换行的,而windows是回车加换行符才能显示换行。more工具就可以把\n转化成\n\r
作者: QIAOXINGXING    时间: 2012-3-15 15:35

换行符的问题。sed本来是Linux下的工具,这种操作系统是以换行符作为显示换行的,而windows是回车加换行符才 ...
Seder 发表于 2012-3-15 15:26



这么说用windows的都有这个问题?
只有我提问,莫非大家都用linux的系统?
作者: Seder    时间: 2012-3-15 15:56

你这个说法太没逻辑了吧?别人不用sed呢?别人有好的方法呢,比如2L?别人没碰到这个情况呢?不能一概而论
作者: find    时间: 2012-3-15 19:12

回复 3# QIAOXINGXING


我用的sed 4.2 + XP SP3英文版,即使不用more命令也没有问题。




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