# why sub processes not working in tcsh



## a129878 (Apr 23, 2010)

Why does
`vi `grep -il create \`find . -type f\` ``
not work under tcsh, returns

```
Unmatched `.
```
Its ok in the other shells.


----------



## vermaden (Apr 23, 2010)

Try that:

```
vi $( grep -il create `find . -type f` )
```


----------



## a129878 (Apr 26, 2010)

```
vi $( grep -il create `find . -type f` )
Illegal variable name.
```
fairs no better, why should it, they are equivalent.


----------



## crsd (Apr 26, 2010)

If it's not just an example, you could use:

```
vim `grep -ril create .`
```


----------



## john_doe (Apr 29, 2010)

IIRC, (t)csh doesn't support more than one level of command substitution. However, you can always convert such expressions to use xargs.
`$ vi `grep -il create \`find . -type f\` ``
becomes
`$ find . -type f | xargs grep -il create | xargs -o vi`


----------

