免费注册 查看新帖 |

Chinaunix

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

用perl如何把一个文件夹下面的txt文件里面的所有\s+换成换行然后删除所有的空行? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-12-24 09:10 |只看该作者 |倒序浏览
某个文件夹下面有一堆txt文本,
数据如下
1 2 4
2 3
5    3  8

........省略很多行

5
我想把数据转化成一个列向量.
然后就是先把连续的空白换成一个回车换行,
然后再删除所有的空看,请问如何
用命令行的方式对这个文件夹下面的所有txt完成上面的操作呢?

论坛徽章:
8
技术图书徽章
日期:2013-09-30 08:51:28技术图书徽章
日期:2013-12-11 09:26:39白羊座
日期:2013-12-27 15:27:13金牛座
日期:2014-01-06 09:13:05天蝎座
日期:2014-01-21 14:23:28酉鸡
日期:2014-05-09 16:51:12卯兔
日期:2014-08-11 16:49:1515-16赛季CBA联赛之八一
日期:2017-08-14 23:24:57
2 [报告]
发表于 2013-12-24 09:51 |只看该作者
  1. sed 's/ /\n/g' txt |sed '/^$/ d'
复制代码

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
3 [报告]
发表于 2013-12-24 10:18 |只看该作者
本帖最后由 pitonas 于 2013-12-24 03:18 编辑

{:2_172:}
  1. perl -i -nle 'print $& while /\w+/g' *.txt
复制代码
回复 1# xiaomm250


   

论坛徽章:
0
4 [报告]
发表于 2013-12-24 10:48 |只看该作者
pitonas 发表于 2013-12-24 10:18
回复 1# xiaomm250

我在windows上,
perl -i -nle 'print $& while /\w+/g' *.txt
这个命令感觉没用,然后我换成
perl -i -nle "print $& while /\w+/g" *.txt
但是提示我:
can't open *.txt:Invalid argument.
不知道怎么回事

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
5 [报告]
发表于 2013-12-24 10:51 |只看该作者

不知道, 我不在windows上{:2_169:}
回复 4# xiaomm250


   

论坛徽章:
0
6 [报告]
发表于 2013-12-24 11:02 |只看该作者
pitonas 发表于 2013-12-24 10:51
不知道, 我不在windows上
回复 4# xiaomm250


http://stackoverflow.com/questio ... or-a-string-in-perl
  1. C:\Temp> for %f in (*.txt) do perl -ne "print if /perl/" %f
复制代码
什么意思?

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
7 [报告]
发表于 2013-12-24 11:09 |只看该作者
用户,可以实践证明{:2_168:}
感觉是?

for %f in (*.txt) do perl -i  -ne "print $& while /\w+/g" %f

回复 6# xiaomm250


   

论坛徽章:
0
8 [报告]
发表于 2013-12-24 11:09 |只看该作者
for %f in (*.txt) do perl -i -nle "print $& while /\w+/g"  %f
我这样还是不行

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
9 [报告]
发表于 2013-12-24 11:12 |只看该作者
{:2_169:} 小伙伴们, 这个真是悲催阿!
回复 8# xiaomm250


   

论坛徽章:
0
10 [报告]
发表于 2013-12-24 11:15 |只看该作者
pitonas 发表于 2013-12-24 11:09
用户,可以实践证明
感觉是?


for %f in (*.txt) do perl -i  -ne "print $& while /\w+/g" %f
这个还是不行

QQ截图20131224111240perl.jpg (28.24 KB, 下载次数: 58)

QQ截图20131224111240perl.jpg
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP