免费注册 查看新帖 |

Chinaunix

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

[文本处理] 遇到一个蛋疼问题,win下文件拷到linux下 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-11-28 17:29 |只看该作者 |倒序浏览
比如两个文件1.txt, 2.txt
1.txt里两行内容
123
456
2.txt里两行内容
789
abc
将这两个文件拷进linux下后,用cat -e看
1.txt会显示成
123$
456
2.txt会显示成
789$
abc$
我想把每行末尾没有$的行打印出来,对单独一个文件用cat -e 1.txt | grep '^.*[^\$]$'可以把这行打印出来,但是现在我有几百个这样的文件。
如果用cat 1.txt 2.txt这样会变成
123$
456789$
abc$
就查不出来了,大神指导下,谢谢

论坛徽章:
0
2 [报告]
发表于 2012-11-28 17:45 |只看该作者
dos2unix *

论坛徽章:
0
3 [报告]
发表于 2012-11-28 17:52 |只看该作者
回复 2# zxpxyz
没有这个命令,这个系统很奇葩,很多命令都没有


   

论坛徽章:
0
4 [报告]
发表于 2012-11-28 18:01 |只看该作者
centos ? ubuntu?

论坛徽章:
0
5 [报告]
发表于 2012-11-28 18:03 |只看该作者
回复 4# zxpxyz


   是一个基于bsd做的系统

论坛徽章:
0
6 [报告]
发表于 2012-11-28 18:04 |只看该作者
dos2unix *

可以在Solaris上面Run. 或者用sed 在每行替换掉你不想要的字符.

论坛徽章:
0
7 [报告]
发表于 2012-11-28 18:06 |只看该作者
用的多的就centos和ubuntu还有BSD,这些系统的包管理里面都有类似的东西。

ubuntu的叫tofrodos 好像是这个名字

其他的系统里面 你就受累装一个 不怎么耗费时间的。

论坛徽章:
0
8 [报告]
发表于 2012-11-28 20:38 |只看该作者
回复 7# zxpxyz
写了一个很傻的脚本解决了
#/bin/sh

for loop in `find /home/shell/ -name "*.txt"`
do
         cat -e $loop | grep '^.*[^\$]$'
         shift
done
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP