私は人々がbashエイリアスやawkベースの関数を使用しているのを見て、その単純さが好きですが(bashで)それを実装する方法を覚えていません。
列3、4、7を選択する必要がある大きな形式のファイルがあるとします。
これを行うには、次のようにします。
cat bigfile.txt | awk '{print $3, $4, $7}' |less
次のように使用できるエイリアス(または関数)Pawkが必要です。
cat bigfile.txt | pawk 3,4,7 | less
同じ効果を得るために。列数は任意で、NFを含めることができます。これを達成するためにいくつかの方法を試しましたが、任意の数の変数をawkに渡す方法はわかりません。
ベストアンサー1
次の機能を使用できます。
function pawk(){
awkString="{print "
for var in "$@"
do
awkString+=" \$$var"
done
awkString+=" }"
awk "$awkString"
}
例:
cat bigfile.txt | pawk 3 4 7 | less