0

my_grep スクリプトがあります

#!/bin/csh
cat $1 | grep -i -E " a | b "

どうして

cat a* | grep -i -E " a | b " > out1.txt

my_grep a* > out2.txt

異なる結果をもたらす?

4

3 に答える 3

1

a*シェルスクリプトに行く前にシェルで展開します。したがって、スクリプトによって処理される でmy_grep a*始まる最初のファイルのみが提供aされます。一方、 でcat a*始まるすべてのファイルで機能しますa*。スクリプトを に変更するcat $*と、目的の結果が得られます。

于 2013-05-05T13:37:20.763 に答える