[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

【已解决】批处理中用gawk处理文本的时候只能选择单个文本吗?

本帖最后由 tommytangtang 于 2014-8-16 01:28 编辑

批处理中用gawk处理文本的时候只能选择单个文本吗?
可以使用通配符代表所有后缀名相同的文件,然后进行操作吗?
@gawk -F","  "{print $3 \" \" $4 \" \" $5}" *.txt>*a.txt
网上查了很久没找到这方面

回复 2# CrLf


    就是说,一个文件夹里有很多文本,我想对每一个进行同样的操作
@gawk -F","  "{print $3,$4,$5}" 123.txt>123a.txt
@gawk -F","  "{print $3,$4,$5}" 132.txt>132a.txt
@gawk -F","  "{print $3,$4,$5}" 111.txt>111a.txt
@gawk -F","  "{print $3,$4,$5}" 23.txt>23a.txt
@gawk -F","  "{print $3,$4,$5}" 13.txt>13a.txt
。。。。。。
还有很多文本需要一起处理
可以像rename一样使用通配符吗?

TOP

回复 4# CrLf


    研究了很久,才发现你写的少了句-F"," 怪不得出来的都是空格呢

@gawk -F"," "FNR==1{sub(/\..*?/,\"a^&\",FILENAME)}{print $3,$4,$5>FILENAME}" *.txt

刚刚在网上学正则表达式,还在研究sub后面括弧里的东西,双引号里用双引号需要加\转码之类的……能帮忙解释一下替换文件名得过程嘛?

TOP

回复 7# CrLf


    谢谢这么详细的解释,今天太晚了,明天继续研究下正则表达式,编程初学者问题较多哈

TOP

各种语言的正则实现略有差别,但区别只在向后引用的写法、是否支持非贪婪匹配、是否支持零宽断言、特殊字符 ...
CrLf 发表于 2014-8-16 01:18



    哈哈,我刚刚说正在学正则,就是看这篇文章,刚刚把他copy到文档永久保存了,谢谢

TOP

返回列表