早教吧 育儿知识 作业答案 考试题库 百科 知识分享

awk'ORS=NR%2?",":"\n"'这句AWK如何解释真心求教awk'ORS=NR%2?",":"\n"'这句话如何解释,AWK大牛告之

题目详情
awk 'ORS=NR%2?",":"\n"' 这句AWK如何解释 真心求教
awk 'ORS=NR%2?",":"\n"'
这句话如何解释,AWK大牛告之
▼优质解答
答案和解析
这个是奇数行末尾输出逗号,偶数行换行(输出"\n"),形成两两一组,如下:
奇数行,偶数行
奇数行,偶数行
……
这句话是通过改变 输出的 记录分隔符ORS 来实现的,ORS默认是换行符"\n"
NR是当前的行号,用NR%2取余来判断是否为奇数行 如果是则将ORS赋值为"," ,否则赋值为"\n",用的是一个三元操作 A?B:C 满足A则B否则C 也可以写成
awk 'if(NR%2){ORS=","}else{ORS="\n"}'
这样就使得奇数行的记录分隔符ORS是逗号,偶数行是换行,从而实现了想要的功能