Cómo eliminar el número de serie citado en las notas de comando del shell de Linux [expresión regular]

Cómo eliminar el número de serie citado en las notas de comando del shell de Linux [expresión regular]

Escrito en la portada: Sé que puedo exportar el formulario, pero ya era así cuando lo recibí. No es realista volver atrás y revisar cientos de artículos. Ok
, es decir,
[1] A. Ben Hameda , S. Elosta, J. Havel Optimización del método de electroforesis de zona capilar para la determinación de Huperzine A usando diseño experimental y redes neuronales artificiales [J]. Elsevier BV, 2004,1084 (1).
Conversión por lotes a
A. Ben Hameda, S. Elosta, J. Havel Optimización del método de electroforesis de la zona capilar para la determinación de Huperzine A utilizando un diseño experimental y redes neuronales artificiales [J]. Elsevier BV, 2004,1084 (1).

Primero busque [1]… [999], se utilizan los siguientes comandos:

grep: solo puede mostrar el número de filas

  1. grep "[[0-9] {1,}]" x.txt
    búsqueda "[al menos un dígito]"
  2. grep "[[0-9] {1,3}]" búsqueda x.txt
    "[uno a tres dígitos]"
  3. grep "[[0-9] *]"
    * Buscar "[cualquier número]" es el más fácil

cortar: seleccionar y enviar

  1. cut -d ']' -f 2,3 x.txt >> y.txt
    Presione] para dividir y extraer el siguiente contenido a y.txt

El siguiente código extrae todos los títulos en list.txt a title.txt; extrae las citas sin números de serie a rmnum.txt

#!/bin/bash
#提取出list.txt中全部title
if [ -a "./list.txt" ];then
cut -d ']' -f 2,3 list.txt>>rmnum.txt
fi
if [ -a "./rmnum.txt" ];then
cut -d "." -f 2,3,4,5,6 rmnum.txt > title_mid.txt
fi
if [ -a "./title_mid.txt" ];then
cut -d "[" -f 1 title_mid.txt> title.txt
print "GOOD JOB!"
fi

Código después del cambio: el
siguiente código extrae todos los títulos en $ 1 a $ 2; extrae las citas sin números de serie a rmnum.txt

#!/bin/bash
#提取出全部title
if [ -a "./$1" ] ;then
cut -d ']' -f 2,3 $1 > rmnum.txt
fi
if [ -a "./rmnum.txt" ] ;then
cut -d "." -f 2,3,4,5,6 rmnum.txt > title_mid.txt
fi
if [ -a "./title_mid.txt" ] ;then
cut -d "[" -f 1 title_mid.txt> $2
echo "GOOD JOB!"
fi

Elimina la primera línea de espacios
cat x.txt | sed's / 1 * // g '>> y.txt

Elimina la última línea
cat x.txt | sed's /[.]*$// g '>> y.txt

Reemplazar mayúscula
tr "[: superior:]" "[: inferior:]" <x.txt> y.txt

Combinar duplicados
sort ./x1.txt ./x2.txt | uniq -u> y.txt

——————————————————
Renuncié a lo anterior, porque se han agregado nombres de muchas personas. Esto hace que sea difícil separar los nombres de las personas de los títulos, así que
hablemos de los nombres de las personas y artículos juntos:

#!/bin/bash
#提取出全部title

tr "[:upper:]" "[:lower:]" < $1 > $1.x
if [ -a "$1.x" ] ;then
cut -d ']' -f 2,3 $1.x > 1.x
cat 1.x | sed 's/^[ \t]*//g' > 2.x
cat 2.x | sed 's/[.]*$//g' > 3.x

sed -i '/^\s*$/d' 3.x

cut -d "[" -f 2 3.x | grep -o [12][890][0-9][0-9] > 4.x
cut -d "[" -f 1 3.x  > 5.x
paste 4.x 5.x > 6.x

sort 6.x | uniq -u >>all
sort 6.x | uniq -d >>all
sort all | uniq -u > allnew
sort all | uniq -d >> allnew
sort allnew | uniq -u > all
sort allnew | uniq -d >> all
echo "success"
fi

  1. \ t ↩︎

Supongo que te gusta

Origin blog.csdn.net/mushroom234/article/details/109019450
Recomendado
Clasificación