免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: xiaomm250
打印 上一主题 下一主题

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

论坛徽章:
0
11 [报告]
发表于 2013-12-24 11:17 |只看该作者
文件名是:
1.txt
复件 1.txt
复件 (2) 1.txt
似乎文件名之间不应该由空格

论坛徽章:
0
12 [报告]
发表于 2013-12-24 11:24 |只看该作者
for %f in (*.txt) do perl -i.bak  -ne "print $&.'\n' while /\w+/g" %f
用这个似乎可以,
但是'\n'为什么不是回车符号呢?

论坛徽章:
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
13 [报告]
发表于 2013-12-24 11:27 |只看该作者
for %f in (*.txt) do perl -i  -nle "print $& while /\w+/g" %f
-nle{:2_172:}
回复 12# xiaomm250


   

论坛徽章:
0
14 [报告]
发表于 2013-12-24 11:29 |只看该作者
pitonas 发表于 2013-12-24 11:27
for %f in (*.txt) do perl -i  -nle "print $& while /\w+/g" %f
-nle
回复 12# ...


我放弃了,请问如果不用命令行的方式如何解决呢?

论坛徽章:
0
15 [报告]
发表于 2013-12-24 11:36 |只看该作者
pitonas 发表于 2013-12-24 11:27
for %f in (*.txt) do perl -i  -nle "print $& while /\w+/g" %f
-nle
回复 12# ...


不用命令行,用文件的方式如何解决呢?
人何苦自己折腾自己,干脆放弃命令行,然后用perl脚本弄吧,这样应该简单一点

论坛徽章:
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
16 [报告]
发表于 2013-12-24 11:38 |只看该作者
$^I = '';
@ARGV = glob "*.txt";
while(<>){
    print "$&\n" while /\w+/g;
}

回复 15# xiaomm250


   

论坛徽章:
0
17 [报告]
发表于 2013-12-24 11:46 |只看该作者
pitonas 发表于 2013-12-24 11:38
$^I = '';
@ARGV = glob "*.txt";
while(){

经过测试:
  1. $^I='.bak';
  2. @ARGV=glob "*.txt";
  3. while(<>){
  4.     print "[        DISCUZ_CODE_0        ]\n" while /\w+/g;
  5. }
复制代码
这个能起到批量处理的功能
但是会产生一堆.bak的备份文件,很讨厌!

论坛徽章:
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
18 [报告]
发表于 2013-12-24 11:50 |只看该作者
小伙伴们, 这个
$^I = '';{:2_171:}

回复 17# xiaomm250


   

论坛徽章:
0
19 [报告]
发表于 2013-12-24 11:54 |只看该作者
pitonas 发表于 2013-12-24 11:50
小伙伴们, 这个
$^I = '';


2.pl里面的内容是:

$^I='';
@ARGV=glob "*.txt";
while(<>){
    print "$&\n" while /\w+/g;
}

我在命令行里面输入:perl 2.pl
结果:

QQ截图20131224115406perl.jpg (4.93 KB, 下载次数: 26)

QQ截图20131224115406perl.jpg

论坛徽章:
0
20 [报告]
发表于 2013-12-24 11:55 |只看该作者
pitonas 发表于 2013-12-24 11:50
小伙伴们, 这个
$^I = '';


我也不希望他备份,可是没办法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP