LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 5016|回复: 10

用sed怎样替换(去掉)回车符?

[复制链接]
发表于 2009-1-13 19:38:38 | 显示全部楼层 |阅读模式
ssssssssssss
 楼主| 发表于 2009-1-13 19:39:19 | 显示全部楼层
rt, thanks
回复 支持 反对

使用道具 举报

发表于 2009-1-14 00:07:20 | 显示全部楼层
用tr吧
cat  你想读入的文件    | tr -d '\n'
回复 支持 反对

使用道具 举报

发表于 2009-1-14 02:09:28 | 显示全部楼层
sed 's/\n//'

全文查找的话:
sed 's/\n//g'
回复 支持 反对

使用道具 举报

发表于 2009-1-14 08:33:37 | 显示全部楼层
sed不讀取行尾的回車符吧!

tr貌似也不吧。
回复 支持 反对

使用道具 举报

发表于 2009-1-14 16:41:35 | 显示全部楼层
sed是对行进行操作,没有换行符\n
回复 支持 反对

使用道具 举报

发表于 2009-1-14 20:48:00 | 显示全部楼层
perl -p -e 's/\n//' your_file
回复 支持 反对

使用道具 举报

发表于 2009-1-14 21:12:01 | 显示全部楼层
Post by kilior;1937960
sed不讀取行尾的回車符吧!
tr貌似也不吧。

貌似sed命令最多只能将每N行合并。

我在linux里,用tr命令就就可以删除所有换行。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-16 18:34:54 | 显示全部楼层
那如果要连接这样的行:
kkkkkkkkkkkkkkk
+ llllllllllllllllllllll
+ mmmmm
zzzzzzzzzzz
adfasdfsfdf
+ kkdfdfadf
+ udfsdfsdf
使得结果为:

kkkkkkkkkkkkkkk llllllllllllllllllllll mmmmm
zzzzzzzzzzz
adfasdfsfdf kkdfdfadf udfsdfsdf

用最简单的脚本该怎么写?
回复 支持 反对

使用道具 举报

发表于 2009-1-16 22:56:36 | 显示全部楼层
  1. #!/bin/bash
  2. lll=''
  3. while read rrr; do
  4.         if echo "$rrr"|grep '^+' > /dev/null; then
  5.                 lll="$lll ${rrr#+ }"
  6.         else
  7.                 [ -n "$lll" ] && echo "$lll"
  8.                 lll="$rrr"
  9.         fi
  10. done < YOUR_FILE_TO_EDIT
  11. echo "$lll"
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表