Linux/Unix Shell Scripting - Crear driectorios con todos los nombres de un archivo .csv

 
Vista:
sin imagen de perfil
Val: 8
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Crear driectorios con todos los nombres de un archivo .csv

Publicado por Axel (2 intervenciones) el 07/12/2019 12:34:48
Ayuda, tengo un archivo.csv con una serie de años, y me piden que cree un directorio con cada uno de ellos, mi pregunta es como puedo crear-los de forma automática, he intentado usando un for:

1
2
3
4
for i in {file2.csv}
do
mkdir $i
done

pero no se como introducir los valores dentro de los {}.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de zer0x10
Val: 101
Oro
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Crear driectorios con todos los nombres de un archivo .csv

Publicado por zer0x10 (26 intervenciones) el 08/12/2019 02:31:37
Hola Axel, no estoy seguro cual es el formato de tu archivo csv si puedes comentanos un poco más.
En caso que el formato sea algo parecido a este:
file.csv
1
2
2019,2020,2021
2022,2023,2024

Pudes hacer algo como lo siguiente:
1
2
3
4
5
6
7
for line in $(cat file.csv | sed 's/,/\n/g' $1)
do
    for year in $line
    do
	mkdir ${year}
    done
done
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 8
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Crear driectorios con todos los nombres de un archivo .csv

Publicado por Axel (2 intervenciones) el 08/12/2019 20:27:55
Gracias, ya lo arregle a mi manera haciendo esto:

1
2
3
4
for i in $(awk -F, '{print $1}' year.csv)
do
mkdir $i
done
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 9
Ha disminuido 1 puesto en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Crear driectorios con todos los nombres de un archivo .csv

Publicado por NoCarrier (3 intervenciones) el 08/01/2020 04:10:03
Si el archivo solo tiene un año por fila es simple:

1
cat file2.csv | xargs mkdir

Si hay mas de un año por fila, separador por coma:

1
cat file2.csv | sed 's/,/ /g' | xargs mkdir
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar