在bash配置文件中编写缩短的awk语句?

时间:2012-06-27 18:20:55

标签: bash awk .bash-profile

我想在我的bash配置文件中创建一个函数来缩短:

awk 'BEGIN{OFS="\t";FS="\t"}{}'

我希望能够输入:

awk2 '{print $0}'

并且做到了:

awk 'BEGIN{OFS="\t";FS="\t"}{print $0}'

除非它在输入中检测到BEGIN ...在这种情况下它将恢复到原始的awk功能。

有谁知道这个功能会是什么样子?

2 个答案:

答案 0 :(得分:2)

如果使用awk的-v而不是BEGIN块,这很容易。

awk2() {
   awk -F'\t' -v OFS='\t' "$@"
}

-v用于变量赋值,并且在行处理之前进行。

答案 1 :(得分:0)

别名会很乱,我建议你使用bash函数缩短它:

function awk2() {
    awk -F "\t" -v OFS="\t" "$@"
}