我总是使用 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
。