免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345下一页
最近访问板块 发新帖
查看: 7468 | 回复: 48
打印 上一主题 下一主题

求教:怎样把文件最后的标识符^M去掉而又不影响文件内部呢? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-09-06 17:06 |只看该作者 |倒序浏览
传递一个文件的时候,加了很多^M  但最后的怎么去掉?

  1. aaaaaadf
  2. bb^Mbbbb
  3. ccccw^M
复制代码

如果用dos代表^M
  1. read what <dos
  2. sed -e"s/$what//"
复制代码

却把文件内部破坏了
但是用
sed -e '$s/$what'又删不掉

  1. root]#od -x  aa.tgz
  2. 0010  0F8A 00AB
  3. ......    .......    ........
  4. 0070  0a0b
  5. 0080
复制代码

其实这个0a0b原本是不存在的,在传输过程中,没有作好解析,结果它就出来了

哪个哥哥sed用的好阿?帮帮忙吧~!
sed -e 's/^M$// ' 可以去掉一个字符  
od -x file 中
0a0d变成000a 了  
可是万一前边也有^M$呢   文件内部就改变了
0d=^M   0a=\n    请各位牛人帮我把他去掉好吗?

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
2 [报告]
发表于 2005-09-06 17:14 |只看该作者

求教:怎样把文件最后的标识符^M去掉而又不影响文件内部呢?

linux版的一句话里有

论坛徽章:
0
3 [报告]
发表于 2005-09-06 17:16 |只看该作者

求教:怎样把文件最后的标识符^M去掉而又不影响文件内部呢?

我去找找  谢拉````

论坛徽章:
0
4 [报告]
发表于 2005-09-06 17:31 |只看该作者

求教:怎样把文件最后的标识符^M去掉而又不影响文件内部呢?

to :waker
很感谢你的提议,但是 答非所问。
我这个^M是文件内部末尾的,其实我主要想取道的是压缩文件里的那个^M
比如 :
  1. [root@root root]#cat  www .tgz
  2.               ..^M.....保留这个
  3.               .........
  4.               @p                   删掉这个空(这是压缩文件的最后一行)
  5.               ^[?2;1^]........
复制代码

              而正常的显示应该是
            
  1. ..........
  2.                @p^[?2;1^]
复制代码

             下边显示的是不正确的
            
  1. [root@root root] #vi temp
  2.                ............
  3.                @p^M                             
  4.                  ^[?2;1]....
复制代码

请哪个牛人指教一下好吗?

论坛徽章:
0
5 [报告]
发表于 2005-09-06 21:32 |只看该作者

求教:怎样把文件最后的标识符^M去掉而又不影响文件内部呢?

dos2unix

论坛徽章:
0
6 [报告]
发表于 2005-09-06 21:36 |只看该作者

求教:怎样把文件最后的标识符^M去掉而又不影响文件内部呢?

tgz文件是二进制的,里边包含的^M和通常的换行符没有关系,为什么还要去掉呢?楼主的目的是?

论坛徽章:
0
7 [报告]
发表于 2005-09-06 22:38 |只看该作者

求教:怎样把文件最后的标识符^M去掉而又不影响文件内部呢?

dos2unix filename filename

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
8 [报告]
发表于 2005-09-07 08:04 |只看该作者

求教:怎样把文件最后的标识符^M去掉而又不影响文件内部呢?

sed 's/^M$//'
你的^M是指什么就不清楚了

论坛徽章:
0
9 [报告]
发表于 2005-09-07 08:35 |只看该作者

求教:怎样把文件最后的标识符^M去掉而又不影响文件内部呢?

很 抱歉 可能是我没说清楚。那个^M是 打包传送的时候系统标识上去的。
多余的只有这最后一行的最后一个。
或许可以这样来说:
  1. root]#od -x  aa.tgz
  2. 0010  0F8A 00AB
  3. ......    .......    ........
  4. 0070  0a0b
  5. 0080
复制代码

其实这个0a0b原本是不存在的,在传输过程中,没有作好解析,结果它就出来了
也就是那个^M
我实在想不出办法弄掉它了    请大家帮帮忙!!!
        

论坛徽章:
0
10 [报告]
发表于 2005-09-07 08:48 |只看该作者

求教:怎样把文件最后的标识符^M去掉而又不影响文件内部呢?

感谢waker的帮助
sed 's/^M$//'
我前几天也用过 行不通 请问还有更好的方法么
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP