Question

I've been trying to get the following two commands into one command:

var=$(find dir/* -name "$file")
var=$(basename "$var")

I thought this might work:

var=$(basename $(find dir/* -name "$file"))

I also tried pipeline, but no luck

Any thoughts?

Was it helpful?

Solution

Add another set of quotes:

var=$(basename "$(find dir/* -name "$file")")

OTHER TIPS

Use the -exec option of the command find to apply the basename command on each result:

var=$(find dir/* -name "$file" -exec basename {} ';')
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top