Parece que quiere enviar algún número (¿586?) de líneas de FTIG_dldStruct.txt
a la ./STP
¿comando? Si es así, suponiendo que ./STP
lee de la entrada estándar como es típico, eso puede parecer:
head -n 586 FTIG_dldStruct.txt | ./STP
Como se señala en los comentarios para pasar todo el contenido del archivo que sería:
./STP < FTIG_dldStruct.txt
También son posibles varias canalizaciones, quizás para filtrar los comentarios (aquí definidos arbitrariamente como líneas que empiezan por #
) con grep
:
grep -v '^#' FTIG_dldStruct.txt | ./STP
Si necesita ./STP
que se quede después de introducir esos comandos para que se pueda interactuar con el programa, eso es un tema más complicado y normalmente requiere un expect
script que a su vez envuelve ./STP
.
#!/usr/bin/env expect -f
set filehandle [open "FTIG_dldStruct.txt"]
set maxlines 586
spawn -noecho ./STP
while {[gets $filehandle line] >= 0 && $maxlines > 0} {
# wait for prompt from program
expect -ex "STP>"
send "$line\r"
incr maxlines -1
}
# turn interaction with the program over to the user
interact
Este código tendría que guardarse en un archivo y hacerse ejecutable como cualquier otro script en unix. expect
también está disponible como biblioteca en otros lenguajes de programación.
2 votos
Bienvenido Herber - el scripting está totalmente en el tema aquí como en varios otros sitios. No hay necesidad de ir a otro sitio a menos que no obtengas buenas respuestas en 2 semanas más o menos. Dicho esto, no te preocupes, eres nuevo. Puede editar y aclarar - ejecutable normalmente significa un programa compilado y scripts / programas interpretados son bash scripts. ¿Estás diciendo que necesitas ejecutar un programa y luego procesar un archivo cuando el programa termina?
0 votos
@MatthewBarclay Las preguntas sobre scripts (tanto para AppleScript como para shell scripts) son perfectamente on-topic en AD.