linux shell 脚本 wak语句中 awk 'BEGIN FS="'"'"'";RS="\n&quo

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux shell 脚本 wak语句中 awk 'BEGIN FS="'"'"'";RS="\n&quo相关的知识,希望对你有一定的参考价值。

这句话begin中 FS="'"'"'";RS="\n" 表达什么意思,哪位高手知道吗?

参考技术A 其实FS="'"'"'";的意思是以 ' (单冒号)作为分隔符(粘贴到这上面看着不是太清楚,你自己弄下)
linux-hg2:~ # echo '_"'"'"'"_'
_"'"_ (两个双冒号,中间一个单冒号)
linux-hg2:~ # cat test.txt
ab'c'b
linux-hg2:~ # awk 'BEGIN FS="'"'"'";RS="\n"print $1,$2' test.txt
ab c
linux-hg2:~ #

效果等同于FS="'\''" 双冒号、单冒号、斜杠、单冒号、单冒号、双冒号
参考技术B RS/ORS:行输入/输出分隔符,默认回车
FS/OFS:字段的输入/输出分隔符,默认为空格和制表符Tab
上面的意思表示为:以“'”作为字段分隔符,以换行作为行分隔符。

在linux 下编写awk脚本计算每个人的平均成绩及所有人的平均成绩

参考技术A 1)总分:awk 'END print ($2+$3+$4+$5)/4' score
说明,第一行,如NUM,math在做数值运算中,做0计算的。
各个成绩记录在文件 score中。
2)计算各个学生的成绩:
示例计算3241的平均成绩,awk 'if ($1=="3241") print ($2+$3+$4+$5)/4' score本回答被提问者采纳

以上是关于linux shell 脚本 wak语句中 awk 'BEGIN FS="'"'"'";RS="\n&quo的主要内容,如果未能解决你的问题,请参考以下文章

linux shell脚本为啥不能执行if命令

[Linux Shell学习系列十四]sed和awk-6.awk与Shell

在linux 下编写awk脚本计算每个人的平均成绩及所有人的平均成绩

shell脚本-awk

shell脚本——正则表达式Sed与Awk文本处理工具详解

shell_awk语句