No primeiro exemplo, você está fazendo: awk -F "/"
No próximo exemplo, você está fazendo: awk -F="/"
Portanto, o separador de campo é diferente: você está usando a string de dois caracteres =/
como o separador de campo
Ah, não sei por que não vi isso antes: você está usando aspas erradas:
# grep -Rl BASE_DIR --exclude-dir=.svn * | awk -F "/" "{print $1}"
------------------------------------------------------^
As aspas duplas em torno do programa awk significam que o shell substituirá a variável $1
antes de entregar o programa ao awk. Provavelmente, no shell, $1
está vazio, então o awk vê isto: {print }
Use aspas simples em vez disso.