Reemplazo por lotes del contenido del archivo en el sistema Linux

  

Estos dos días se usan para crear una aplicación usando maven, ya que el proyecto es grande, hay más de 700 archivos pom.xml, más deprimente está en muchos archivos pom.xml He especificado la url de la biblioteca de recursos por separado. Necesito asignar la url de estas bibliotecas de recursos a la biblioteca central local de nexus.


Es un poco práctico cambiar manualmente la configuración del archivo uno por uno, así que búsquelo en Google. , encuentre una buena manera de reemplazar de forma masiva el contenido del archivo, la estructura del comando es la siguiente:


busque -nombre 'nombre de archivo para buscar' |  Xargs perl -pi -e's | La cadena siendo reemplazada | Cadena reemplazada | G '

El siguiente ejemplo reemplaza "http://repo1.maven.org/maven2" por "http: //localhost:" en todos los archivos pom.xml en el directorio actual y en todos los subdirectorios. 8081 /nexus /content /groups /public ".


find -name 'pom.xml' |  Xargs perl -pi -e's | Http: //repo1.maven.org/maven2 | Http: //localhost: 8081 /nexus /content /groups /public | G '

El lenguaje Perl se usa aquí,


perl -pi -e

Agregue la opción -e al comando Perl, seguido de una línea de código, luego Se ejecutará como un script de Perl normal.


El uso de Perl desde la línea de comandos puede ayudar a lograr algunas conversiones poderosas en tiempo real. Un estudio serio de las expresiones regulares y el uso adecuado le ahorrará una gran cantidad de edición manual.

Copyright © Conocimiento de Windows All Rights Reserved