Linux里面awk -F和FS区别是什么? Linux里面awk -F作用是什么?

linux \u4e2d\u7684awk \u540e\u9762\u7684-F\u4ec0\u4e48\u610f\u601d\u5462

-F \u8868\u793a\u6307\u5b9a\u5206\u9694\u7b26
echo a,b,c|awk -F"," '{print $1}'
\u5c06\u4ee5","\u5206\u9694\u5b57\u6bb5\uff0c\u56e0\u6b64$1\u4e3aa

awk\u662f\u4e00\u4e2a\u5f3a\u5927\u7684\u6587\u672c\u5206\u6790\u5de5\u5177\uff0c\u7b80\u5355\u6765\u8bf4awk\u5c31\u662f\u628a\u6587\u4ef6\u9010\u884c\u8bfb\u5165\uff0c\uff08\u7a7a\u683c\uff0c\u5236\u8868\u7b26\uff09\u4e3a\u9ed8\u8ba4\u5206\u9694\u7b26\u5c06\u6bcf\u884c\u5207\u7247\uff0c\u5207\u5f00\u7684\u90e8\u5206\u518d\u8fdb\u884c\u5404\u79cd\u5206\u6790\u5904\u7406
awk\u547d\u4ee4\u683c\u5f0f\u5982\u4e0b
awk [-F field-separator] 'commands' input-file(s)

[-F \u5206\u9694\u7b26]\u662f\u53ef\u9009\u7684\uff0c\u56e0\u4e3aawk\u4f7f\u7528\u7a7a\u683c\uff0c\u5236\u8868\u7b26\u4f5c\u4e3a\u7f3a\u7701\u7684\u5b57\u6bb5\u5206\u9694\u7b26\uff0c\u56e0\u6b64\u5982\u679c\u8981\u6d4f\u89c8\u5b57\u6bb5\u95f4\u6709\u7a7a\u683c\uff0c\u5236\u8868\u7b26\u7684\u6587\u672c\uff0c\u4e0d\u5fc5\u6307\u5b9a\u8fd9\u4e2a\u9009\u9879\uff0c\u4f46\u5982\u679c\u8981\u6d4f\u89c8\u8bf8\u5982/etc/passwd\u6587\u4ef6\uff0c\u6b64\u6587\u4ef6\u5404\u5b57\u6bb5\u4ee5\u5192\u53f7\u4f5c\u4e3a\u5206\u9694\u7b26\uff0c\u5219\u5fc5\u987b\u6307\u660e-F\u9009\u9879\u3002\u201dLinux\u547d\u4ee4\u5927\u5168\u201c\u53ef\u67e5\u8be2\u4e0b\u547d\u4ee4\u4ecb\u7ecd

-F 后面跟查询时以什么为分隔符,默认不跟是空格

一般使用的话如: awk -F: '$3<10{print $1 "\t" $NF}' /etc/passwd(以冒号为分割打印文件的第一列)
FS 是字段分隔符变量,默认是空格 如这样用:
echo abaAcd |awk 'BEGIN {FS="aA"} {print $2}'
显示结果为 cd
区别显然是,前者直接是一个参数,而后者要放到awk命令代码块里,也就是BEGIN(初始化代码,在对每一行进行处理之前,主要是引用全局变量)时定义FS分隔符的。
不懂继续问,满意请采纳。

Linux里面的AW和f和fs区别是什么?我认为跟机油约他们内部结构都是一样的区别,只不过是外观有小小的区别

awk -f的话加载-f后面的文件。-F的话后面的是域分割符号。

Linux下脚本的第一行#! 是指明本脚本使用哪个解释器来执行当前脚本,从头文件看出这个一个awk脚本,第一行的意思可以理解为 使用 /usr/bin/awk -f

扩展阅读:matebook14 ... linux xcopy ... macbook型号对照表 ... linux chmod ... linux grep查找关键字 ... 两个m2插槽插哪个 ... awkis ... sed linux ... linux cut ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网