Board logo

标题: 这行awk代码是什么意思,最好详细些,用以参考学习,谢谢! [打印本页]

作者: wonderful    时间: 2017-9-20 17:34     标题: 这行awk代码是什么意思,最好详细些,用以参考学习,谢谢!

麻烦大家给解释一下,这行代码是什么意思,最好详细些,用以参考学习,谢谢!
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

本帖最后由 不知道是谁 于 2017-9-20 18:05 编辑

这好像不是批处理吧
作者: zhanglei1371    时间: 2017-9-20 18:32

斜杠是转义符号。awk本身是Linux下的东西,故这段代码在Linux下是不需要转义的但是在windows下必须转义才行。
作者: Batcher    时间: 2017-9-20 23:33

这是AWK的语法,跟BAT关系不大。最好你能先看看AWK教程。
http://bbs.bathome.net/thread-13203-1-1.html

大概意思是这样的:
for循环内部的n代表第几列
n%2 列数取余,也就是每隔一列进行后面的gsub替换字符串操作
gsub把当前列里面的逗号替换成井号
作者: wonderful    时间: 2017-9-21 08:58

回复 4# Batcher


    谢谢了,我去看看,感谢指点!
作者: wonderful    时间: 2017-9-21 08:58

回复 3# zhanglei1371


    谢谢指点!
作者: wonderful    时间: 2017-9-21 09:06

回复 2# 不知道是谁


    谢谢了




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2