Pregunta

Estoy probando lo siguiente en un guión de Bash:

COUNT=`cat "$NEWLIST" | wc -l | awk \' { print $1 } \` `

Donde NewList es una cadena que contiene una lista de archivos, uno por línea. Pero recibo este error:

command substitution: line 74: unexpected EOF while looking for matching `''

¿Por qué está fallando? ¿Cómo uso backticks anidados?

(Básicamente, estoy tratando de quitar el espacio en blanco del resultado de WC, pero también me gustaría saber cómo usar backticks anidados de todos modos)

¿Fue útil?

Solución

Estás mezclando 'y'

COUNT=`cat "$NEWLIST" | wc -l | awk ' { print $1 } ' `

Otros consejos

Esa es una razón por la que deberías usar $() en lugar de retroceso.

Además, no hay necesidad de cat o Awk:

COUNT=$(wc -l < "$NEWLIST")

Ese segundo "retroceso escapado" debería ser una sola cita, al igual que la primera. Además, ten cuidado con el $1 allá.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top