Constellation Knowledge Network - Preguntas y respuestas sobre Bagua - shell Primero se verifica el número de identificación y luego se calculan la edad, la fecha de nacimiento y el sexo. Leí mucho en línea y descubrí que el número de identificación tiene 15 y 18 dígitos.

shell Primero se verifica el número de identificación y luego se calculan la edad, la fecha de nacimiento y el sexo. Leí mucho en línea y descubrí que el número de identificación tiene 15 y 18 dígitos.

El archivo de shell es id.sh. El archivo de tarjeta de identificación antiguo y el archivo de tarjeta de identificación nuevo están configurados al principio, son id1.txt e id2.txt respectivamente.

#!/bin/bash

# Uso: ./id.sh

in_file="id1.txt" # archivo de lista de ID antiguo

out_file="id2.txt" # nuevo archivo de lista de ID

pattern_id_15="^((11|12|13|14|15|21|22|23|31|32|33 |34|35|36|37|41|42|43|44|45|46|50|51|52|53|54|61|62|63|64|65)[0-9]{4}) ([0-9]{2})([

0|1][0-9])([0-3][0-9])([0-9]{3} )$"

pattern_id_18="^((11|12|13|14|15|21|22|23|31|32|33|34|35|36|37|41|42| 43|44|45|46|50|51|52|53|54|61|62|63|64|65)[0-9]{4})([1|2][0-9]{

3})([0|1][0-9])([0-3][0-9])([0-9]{3})([0-9xX]) $"

mientras lee la línea

do

id=$línea

if [[ $id =~ $pattern_id_15 ]]

entonces

año=${BASH_REMATCH[3]}

año="19$año"

mes=${BASH_REMATCH[ 4]}

día=${BASH_REMATCH[5]}

sex_id=${BASH_REMATCH[6]}

año_now=`fecha Y`

cumpleaños="$año-$mes-$día"

((edad=$año_ahora-$año))

if ((10#$sex_id2= =0))

entonces

sexo="Mujer"

más

sexo="Hombre"

fi

new_line="$id\t\t$edad\t$cumpleaños\t$sexo"

echo -e $new_line gt;gt $out_file

elif [[ $id =~ $pattern_id_18 ]]

entonces

año

=${BASH_REMATCH[3]}

mes=${BASH_REMATCH[4]}

día=${BASH_REMATCH[5]}

sex_id=$ {BASH_REMATCH[6]}

año_now=`fecha Y`

cumpleaños="$año-$mes-$día"

((edad=$ año_ahora-$año))

if ((10#$sex_id2==0))

entonces

sexo="Mujer"

else

sexo="Hombre"

fi

new_line="$id\t$edad\t$cumpleaños\t$sexo"

echo -e $new_line gt; $out_file

fi

done lt; es:

110312560208011

110312581229120

1213212442

11031219610613135x

11031219590829080X

aaaaaaaa

110312198203121803

110312200105020310

El contenido del id2.txt producido es:

110312560208011 55 1956-02-08 Hombre

110312581229120 53 1958-12-29 Femenino

11031219610613135x 50 1961-06-13 Masculino

11031219590829080X 52 1959-08-29 Femenino

1103121 98203121803 29 1982 -03-12 Femenino

110312200105020310 10 2001-05-02 Masculino

上篇: Los discípulos de Xuanyuan interpretan los sueños 13_Significado del sueño de Xuanyuan 下篇: ¡El nombre de qq speed! ¡Arrodillarse! ! !
Artículos populares