printf 后面不是应该带单引号的格式吗,为什么awk里不需要
awk '{print $2 "\t" $4}' sutdent.txt 中 $2 "\t" $4 都是格式么
awk '{print $2 "\t" $4}' sutdent.txt 中 $2 "\t" $4 都是格式么
2015-08-23
我的理解是,单独使用【printf】时,输入的内容是由【printf】来分割的。要使用单引号确定一个输出格式,然后循环输出所有分割好的字符串。
使用【awk】时,字符串的分割是由awk分割的,【$n】是调用awk分隔好的字符串。
另外,【printf】是整篇文档一起分割的,而【awk】是一行一行分割的。
带【$】的是awk分割好的字符串,【$1】代表第一个,【$2】代表第二个......。【$0】代表一整行。
双引号中的转义字符是用来控制输出格式的。
例如,【awk '{print $1 "\t" $2}'】,【$1】 到 【"\t"】之间的空格是没用的,只有双引号括起来的才有用。
例如,【awk '{print $1" \t "$2}'】,这下子,空格才生效。
举报