找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 12328|回复: 6

这行awk代码是什么意思,最好详细些,用以参考学习,谢谢!

[复制链接]
发表于 2017-9-20 17:34:22 | 显示全部楼层 |阅读模式
麻烦大家给解释一下,这行代码是什么意思,最好详细些,用以参考学习,谢谢!
awk -F"[\"\"]" "{for(n=1;n<=NF;n++){if(!(n%%2)){gsub(\",\",\"#\",$n)};printf(\"%%s\",$n)}print\"\"}" "1.csv">> "1.csv.t3"

特别是 "[\"\"]"  \"%%s\" 是什么意思

{if(!(n%%2)){gsub(\",\",\"#\",$n)};printf(\"%%s\",$n)}print\"\"}" 是什么意思  
谢谢大家!
发表于 2017-9-20 18:03:39 | 显示全部楼层
本帖最后由 不知道是谁 于 2017-9-20 18:05 编辑

这好像不是批处理吧
发表于 2017-9-20 18:32:35 | 显示全部楼层
斜杠是转义符号。awk本身是Linux下的东西,故这段代码在Linux下是不需要转义的但是在windows下必须转义才行。
发表于 2017-9-20 23:33:28 | 显示全部楼层
这是AWK的语法,跟BAT关系不大。最好你能先看看AWK教程。
http://bbs.bathome.net/thread-13203-1-1.html

大概意思是这样的:
for循环内部的n代表第几列
n%2 列数取余,也就是每隔一列进行后面的gsub替换字符串操作
gsub把当前列里面的逗号替换成井号
 楼主| 发表于 2017-9-21 08:58:25 | 显示全部楼层
回复 4# Batcher


    谢谢了,我去看看,感谢指点!
 楼主| 发表于 2017-9-21 08:58:41 | 显示全部楼层
回复 3# zhanglei1371


    谢谢指点!
 楼主| 发表于 2017-9-21 09:06:39 | 显示全部楼层
回复 2# 不知道是谁


    谢谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 22:23 , Processed in 0.016174 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表