Lo sentimos, pero este no es un servicio de escritura de guiones. Podemos ayudarlo con un problema específico en el que está atascado. Cuéntanos qué has hecho hasta ahora y cuáles fueron los resultados.
Tetsujin
1
Tenga en cuenta que superuser.com no es un servicio gratuito de escritura de script / código. Si nos dice lo que ha intentado hasta ahora (incluya los scripts / código que ya está usando) y dónde está atascado, entonces podemos intentar ayudarlo con problemas específicos. También deberías leer ¿Cómo hago una buena pregunta? .
DavidPostill
2
No estoy seguro de por qué percibes la pregunta tan mal, más bien se trata de un simple script de 1 LOC
Arefe
Respuestas:
6
Hay una manera fácil de ejecutar un comando para cada línea de un archivo de texto, y no requiere un script que sería excesivo para un solo comando como mkdir. Use el xargscomando así:
xargs -tI % mkdir % < names.txt
La -Iopción le dice xargsque ejecute un comando para cada línea desde STDIN. En este caso, STDIN viene de leer el names.txtarchivo con < names.txt. El %carácter es una cadena de reemplazo que xargsutiliza como marcador de posición para una línea del archivo. Esto significa que en todas partes xargsve %en el comando, %se reemplaza por una línea del archivo.
La -topción hace xargsque se imprima cada comando antes de que se ejecute. No es necesario, pero puede ser útil para problemas más complicados.
Cuando se xargsejecuta con el archivo de muestra, el resultado se ve así:
mkdir JOHN DOE
mkdir JANE DOE
mkdir ADAM SMITH
mkdir SARAH BROWN
mkdir SUSIE JOHNSON
y los mkdircomandos crean una nueva carpeta con los nombres del names.txtarchivo.
Respuestas:
Hay una manera fácil de ejecutar un comando para cada línea de un archivo de texto, y no requiere un script que sería excesivo para un solo comando como
mkdir
. Use elxargs
comando así:La
-I
opción le dicexargs
que ejecute un comando para cada línea desdeSTDIN
. En este caso, STDIN viene de leer elnames.txt
archivo con< names.txt
. El%
carácter es una cadena de reemplazo quexargs
utiliza como marcador de posición para una línea del archivo. Esto significa que en todas partesxargs
ve%
en el comando,%
se reemplaza por una línea del archivo.La
-t
opción hacexargs
que se imprima cada comando antes de que se ejecute. No es necesario, pero puede ser útil para problemas más complicados.Cuando se
xargs
ejecuta con el archivo de muestra, el resultado se ve así:y los
mkdir
comandos crean una nueva carpeta con los nombres delnames.txt
archivo.fuente