是否可以更改 awk 中的默认字段分隔符?

是否可以更改 awk 中的默认字段分隔符?

我总是使用 awk 来操作逗号分隔的文件,因此我的代码中的第一行总是将字段分隔符更改为“,”如下所示:

awk 'BEGIN {FS=","}
$2 < 20 {print $1}' myfile.csv

是否可以更改 awk 的默认值,以便逗号成为默认FS?这不是什么大问题,但它会让事情变得更整洁一些。我尝试谷歌搜索,但没有找到任何有用的东西;这可能无法实现,但我想问一下!

答案1

编辑:一般来说,正如评论中所强调的那样,安全的使用别名的一种方法就是使用不同的名称,例如awkc

创建一个别名,将字段分隔符设置为逗号。将别名放入~/.bashrc,或者如果~/.bashrc 来源(包括)~/.bash_aliases,则将其放在那里。随后您可以在命令中将其覆盖为您想要的任何内容,

请注意,如果你使用“awk”作为别名,你的脚本将完全不可移植。它只能在具有以下系统的系统上正常运行:那个特定的别名。

alias awkc='awk -F","'

示例(使用别名)

echo "a,b c" | awkc '{print $1" -- "$2}'  

输出

a -- b c

答案2

要更改 awk 默认字段分隔符,请使用-F <fs>选项(fs可以是简单字符或正则表达式)。

您还可以fs使用 awk 内部变量来更改这一点FS

相关内容