0

短くするために bash プロファイルに関数を作成したい:

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

次のように入力できるようになりたいです。

awk2 '{print $0}'

そしてそれをしてもらいます:

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

入力で BEGIN が検出されない限り...その場合、元の awk 機能に戻ります。

この関数がどのように見えるか、誰にも分かりますか?

4

2 に答える 2

2

これは、BEGIN ブロックの代わりに awk の -v を使用すると簡単です。

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

-v は変数の割り当てに使用され、行処理の前に実行されます。

于 2012-06-27T19:45:16.317 に答える
0

エイリアスは面倒なので、bash 関数を使用して短くすることをお勧めします。

function awk2() {
    awk -F "\t" -v OFS="\t" "$@"
}
于 2012-06-27T19:49:59.050 に答える