Usando el índice de bucle dentro de AWK -- mmand-line campo con bash campo con scripts camp askubuntu Relacionados El problema

Using loop index inside of awk


0
vote

problema

Español

Me disculpo si se ha preguntado antes. Creo que se han preguntado preguntas muy similares, pero no una exactamente como esta.

Tengo un archivo que contiene algunas columnas

vamos a decir que se ve así

  1 3 4 12 3 5 8 12.1 . . . .   

Así que tiene columnas de valores. Me gustaría seleccionar la segunda columna y agregar un valor a todos los elementos en esa columna para que pueda parecer

  1 3.2 4 12 3 5.2 8 12.1 . x+0.2 . .   

Pero, quiero que el iterador cambie según algunos valores en matriz en la que miro. También me gustaría que el nombre de archivo refleje ese cambio. Por lo que podríamos decir que el archivo original se llama

file.txt

Pero a medida que miro a través del archivo, quiero que el nombre refleje lo que se agregó para que se vea como

file_0.txt Esto es simplemente agregar 0 a los cambios originales, o sin cambios, pero es bueno tenerlo en el mismo formato para recopilar algunos valores más adelante. file_0.2.txt file_0.4.txt ... donde me agrego un incremento de 0.2 cada vez.

Mencionaré que para mi aplicación específica, tengo que seleccionar un subconjunto de filas para hacer esto, por eso tengo los límites de NR establecidos.

  file=${1?No file given}  boundsToTest=($(seq 0 0.2 5))  for i in "${boundsToTest[@]}" do      newFile=$(echo $file | awk -v i="$i" "NR==7,NR==126 {$3=$3+i}")      newFileName="$(basename $file .txt)"_$i.txt      mv $newFile ${newFileName} done   

Hasta ahora, esto funciona y cambia el nombre de manera acontrativa, pero no está agregando los valores a la columna. Cualquier ayuda para pasar la awk variable para hacer matemáticas dentro del archivo sería muy apreciado.

¡Gracias!

Original en ingles

I apologize if this has been asked before. I think very similar questions have been asked but not one exactly like this.

I have a file that contains some columns

lets say it looks like this

1 3 4 12 3 5 8 12.1 . . . . 

So its got columns of values. I would like to select the 2nd column and add a value to all elements in that column so that it might look like

1 3.2 4 12 3 5.2 8 12.1 . x+0.2 . . 

But, I want that iterator to change based on some values in array that I look through. I would also like the file name to reflect that change. So we might say the original file is called

file.txt

but as I look through the file, I want the name to reflect what was added so that it would look like

file_0.txt This is simply adding 0 to the original, or no changes, but its nice to have it in the same format to gather some values later. file_0.2.txt file_0.4.txt ... where I'm added an increment of 0.2 each time.

I'll mention that for my specific application, I have to select a subset of rows to do this on, so that's why I have NR bounds set.

file=${1?No file given}  boundsToTest=($(seq 0 0.2 5))  for i in "${boundsToTest[@]}" do      newFile=$(echo $file | awk -v i="$i" "NR==7,NR==126 {$3=$3+i}")      newFileName="$(basename $file .txt)"_$i.txt      mv $newFile ${newFileName} done 

So far this works and changes the name accoringly, but it is not adding the values to the column. Any help on passing the awk variable to do math inside of the file would be greatly appreciated.

Thank you!

        
         
         

Lista de respuestas


Relacionados problema

6  Mi función de bash se ejecuta solo una vez por terminal abierto  ( My bash function runs only once per terminal opened ) 
Cuando intento ejecutar mi función de bash, definida en .bashrc, por segunda vez en el mismo terminal, no funciona. El código es el siguiente: lspci6 ...

0  Script Shell para instalar software y configurar la red  ( Shell script to install software configure network ) 
Oye, quería saber cómo, después de una nueva instalación de Ubuntu, puedo instalar todos los softwares esenciales (VLC, Apache, MySQL, PHP, Java, NetbeanSetc)...

3  dpkg sin shell  ( Dpkg with no shell ) 
¿Cómo ejecutar DPKG sin shell? Aquí está mi problema: HECHO Y AUTORUN.SH Script en mi clave USB. Para ejecutar este script, creé reglas en /etc/udev/ru...

9  ¿Cómo apagar Ubuntu después de (2 horas) de inactivo?  ( How to shutdown ubuntu after 2 hours of idle ) 
Correr: Xubuntu 14.04 32bit. He leído varias desactualizadas, no funcionando, trabajando diferente que quiero respuestas aquí y en otros lugares. Tuve un gu...

135  ¿Cómo ejecutar un script simplemente haciendo doble clic en los archivos similares en Windows?  ( How to execute a script just by double clicking like exe files in windows ) 
¿Cómo puedo hacer que un script de Bash sea ejecutable haciendo doble clic al igual que ABCDEFGHIJKLMNABCDEFGHIJKLMN5 archivos en Windows? Lo intenté crean...

2  Abra la carpeta principal de un enlace simbólico a través de clic con el botón derecho?  ( Open the parent folder of a symbolic link via right click ) 
Podemos abrir una carpeta principal de cualquier archivo usando Script Nautilus como #!/bin/bash nautilus "$1" Si hago este script en el enlace simbó...

22  Script de bash que no se ejecuta desde crontab [duplicado]  ( Bash script not executing from crontab ) 
Esta pregunta ya tiene respuestas aquí : ¿Por qué los scripts de Crontab no funcionan? ...

2  ¿Cómo monitorear un archivo local para cambios, aplique un REGEX reemplazarlo y guardar / sobrescribir a un archivo de destino?  ( How to monitor a local file for changes apply a regex replace on it and save ov ) 
Me gustaría comenzar un script o algo que vea un archivo de texto para cambios. Cuando cambie el archivo, quiero ejecutarlo a través de un analizador REGEX pa...

0  Diferentes etapas en la programación de bash  ( Different stages in bash programming ) 
Tengo un programa de bash con diferentes etapas como: $stage=1 if [ stage -le 1]; then echo "execute stage 1" fi if [ stage -le 2]; then echo "execute sta...

11  Ejecute scripts automáticamente en el servidor después de la conexión SSH  ( Run scripts automatically in server after ssh connection ) 
Cómo ejecutar un script automáticamente en el servidor Poco después de que el sistema del cliente establezca la conexión SSH con el servidor para ex: Supong...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos