我总是使用 awk 来操作逗号分隔的文件,因此我的代码中的第一行总是将字段分隔符更改为“,”,如下所示:
awk 'BEGIN {FS=","}
$2 < 20 {print $1}' myfile.csv
Run Code Online (Sandbox Code Playgroud)
是否可以更改 awk 的默认设置,使逗号成为默认FS?这不是一个大问题,但它只会让事情变得更整洁一些。我尝试谷歌搜索,但没有找到任何有用的东西;这可能是不可能的,但我想我会问!
编辑:一般来说,正如评论中强调的那样,使用别名的安全方法是使用不同的名称,例如awkc
创建一个别名,将字段分隔符设置为逗号。将别名放入~/.bashrc,或者如果~/.bashrc sources (includes) ~/.bash_aliases,则将其放在那里。随后您可以在命令中再次将其覆盖为您喜欢的任何内容,
请注意,如果您使用“awk”作为别名,则您的脚本完全不可移植。它只能在具有该特定别名的系统上正常运行。
alias awkc='awk -F","'
Run Code Online (Sandbox Code Playgroud)
示例(使用别名)
echo "a,b c" | awkc '{print $1" -- "$2}'
Run Code Online (Sandbox Code Playgroud)
输出
a -- b c
Run Code Online (Sandbox Code Playgroud)