Determinar el número de dígitos en el archivo de texto -- scripts camp askubuntu Relacionados El problema

determining the number of digits in text file


0
vote

problema

Español

Tengo un archivo de datos de la siguiente manera:

   15 01 01 00 00  0.0000000  0 22E19R13R12G15G26G24G21E20R19G13G18G29  15 01 01 01 00 30.0000000  0 22E19R13R12G15G26G24G21E20R19G13G18G29  15 01 01 02 01  0.0000000  0 22E19R13R12G15G26G24G21E20R19G13G18G29  15 01 01 03 01 30.0000000  0 22E19R13R12G15G26G24G21E20R19G13G18G29   

Necesito contar el número de dígito del valor en la primera línea y la cuarta columna, entonces necesito determinar este número de dígito como una variable de la siguiente manera:

primera línea y cuarta columna: 00

  ABCDEFGHIJKLMNABCDEFGHIJKLMN5   
Original en ingles

I have a data file as follows:

 15 01 01 00 00  0.0000000  0 22E19R13R12G15G26G24G21E20R19G13G18G29  15 01 01 01 00 30.0000000  0 22E19R13R12G15G26G24G21E20R19G13G18G29  15 01 01 02 01  0.0000000  0 22E19R13R12G15G26G24G21E20R19G13G18G29  15 01 01 03 01 30.0000000  0 22E19R13R12G15G26G24G21E20R19G13G18G29 

I need to count the digit number of the value in the first line and fourth column then I need to determine this digit number as a variable as follows:

first line and fourth column: 00

digit_number=2 
  
   
   

Lista de respuestas

3
 
vote
vote
La mejor respuesta
 

Si no necesita verificar que el valor sea un número, simplemente puede verificar la longitud de del 4º Field del 1er

  awk 'FNR == 1 {print length($4); exit}' file   

para asignar a una variable de shell:

  digit_number=$(awk 'FNR == 1 {print length($4); exit}' file)   

Si necesita contar cuántos dígitos están en el campo, puede modificar el comando AWK a

  awk 'FNR == 1 {print gsub(/[0-9]/,"",$4); exit}' file   

Tenga en cuenta que gsub devolverá un recuento de dígitos decimales [0-9] ignorar cualquier carácter que no digita en el campo.

 

If you don't need to actually check that the value is a number, you can simply check the length of the 4th field from the 1st record

awk 'FNR == 1 {print length($4); exit}' file 

To assign to a shell variable:

digit_number=$(awk 'FNR == 1 {print length($4); exit}' file) 

If you need to count how many digits are in the field, then you could modify the awk command to

awk 'FNR == 1 {print gsub(/[0-9]/,"",$4); exit}' file 

Note that gsub will return a count of decimal digits [0-9] ignoring any non-digit characters in the field.

 
 
1
 
vote
  digit_number=$(head -1 {the file} | cut -d ' ' -f 4 | tr -d ' ' | wc -c)   

donde:

  • head -1 {the file} Imprima la primera línea del archivo
  • cut -d ' ' -f 4 toma el cuarto campo delimitado en el espacio
  • tr -d ' ' elimina el LF
  • awk 'FNR == 1 {print length($4); exit}' file 0 cuenta los bytes en el resultado
 
digit_number=$(head -1 {the file} | cut -d ' ' -f 4 | tr -d '\n' | wc -c) 

Where:

  • head -1 {the file} print the first line of the file
  • cut -d ' ' -f 4 takes the 4th space-delimited field
  • tr -d '\n' removes the trailing lf
  • wc -c counts the bytes in the result
 
 

Relacionados problema

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ó...

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...

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...

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...

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? ...

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 ...

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  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...

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...




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