Por que o resultado do grep depende do caminho da pasta? [duplicado]

0

Eu conheço um fenômeno estranho ao usar grep on Solaris 10 :
Eu tento usar grep para encontrar creat related DTrace probes. Quando em uma pasta ( /data1/nan ), tudo funciona bem:

bash-3.2# pwd
/data1/nan
bash-3.2# dtrace -l | grep creat*
   27 hotspot586         libjvm.so __1cHThreadsJcreate_vm6FpnOJavaVMInitArgs_pb_i_ vm-init-begin
   28 hotspot586         libjvm.so __1cHThreadsJcreate_vm6FpnOJavaVMInitArgs_pb_i_ vm-init-end
  574        fbt              aggr                   aggr_ioc_create entry
  575        fbt              aggr                   aggr_ioc_create return

Em outra pasta ( /data1/nan/DTraceToolkit-0.99/Proc/ ), o grep não consegue encontrar nada:

bash-3.2# cd /data1/nan/DTraceToolkit-0.99/Proc/
bash-3.2# pwd
/data1/nan/DTraceToolkit-0.99/Proc
bash-3.2# dtrace -l | grep creat*
bash-3.2#

Alguém poderia dar alguma pista sobre esse problema, muito obrigado antecipadamente!

    
por Nan Xiao 06.01.2015 / 04:26

1 resposta

2

O * é interpretado pelo shell antes de atingir grep . Cite:

 dtrace -l | grep 'creat*'
    
por 06.01.2015 / 04:32

Tags