免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
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
发表于 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
发表于 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
发表于 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
发表于 2013-12-24 10:51 |显示全部楼层

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


   

论坛徽章:
0
发表于 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
发表于 2013-12-24 11:09 |显示全部楼层
用户,可以实践证明{:2_168:}
感觉是?

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

回复 6# xiaomm250


   

论坛徽章:
0
发表于 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
发表于 2013-12-24 11:12 |显示全部楼层
{:2_169:} 小伙伴们, 这个真是悲催阿!
回复 8# xiaomm250


   

论坛徽章:
0
发表于 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
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。




----------------------------------------

大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP