![]() |
Hola y bienvenida de los Estados Unidos a la UNIX y Linux Foros! Gracias por su visita y formar parte de nuestra comunidad global.
|
|
google unix.com
|
|||||||
| Foros | Registro | Reglas de los Foros | Enlaces | Álbumes | Preguntas más frecuentes | Lista de miembros | Calendario | Búsqueda | Puestos de hoy | Marcar Foros Como Leídos |
| UNIX for Dummies Preguntas y Respuestas Si no está seguro de que para publicar un UNIX o Linux cuestión, puesto que aquí. Todos los novatos en Linux, UNIX y bienvenida! |
Más UNIX y Linux Foro Temas usted puede encontrar útiles
|
||||
| Hilo | Hilo para principiantes | Foro | Respuestas | Último mensaje |
| La eliminación de líneas específicas | catgovind | Programación de scripts de shell y | 3 | 04-30-2008 06:40 AM |
| Cómo leer una sección específica y modificar en | kn.naresh | Programación de scripts de shell y | 2 | 04-18-2008 01:30 AM |
| Impresión con líneas específicas awk NF | jehrome_rando | Programación de scripts de shell y | 1 | 03-13-2007 04:23 AM |
| visualización de líneas específicas | chevmanzz | UNIX for Dummies Preguntas y Respuestas | 3 | 05-25-2006 04:25 AM |
| ¿Cómo se concreta en líneas de un archivo? | hedgehog001 | UNIX for Dummies Preguntas y Respuestas | 2 | 08-23-2005 01:04 AM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
Cómo usar sed modificar líneas específicas
¿Podría alguien decirme cómo puedo utilizar sed para modificar las líneas siguientes líneas específicas? el archivo es el siguiente:
"TEST/SI1573.lab" 3670 8920 # h 8920 9530 hh 9530 10694 IH . "TEST/DR1/FAKS0/SI2203.lab" 9730 9580 # h 9580 9840 dh Ix 9840 10652 10652 11997 r ........ Quiero modificar los primeros campos a 0 de las líneas que sigue las líneas que comienzan con "TEST. El archivo después de la operación debería ser: "TEST/SI1573.lab" H 0 8920 # 8920 9530 hh 9530 10694 IH . "TEST/DR1/FAKS0/SI2203.lab" H 0 9580 # 9580 9840 dh Ix 9840 10652 10652 11997 r ........ nadie puede decirle a mi manera de hacer eso? Gracias de antemano. |
|
||||
|
Código:
sed -e '/^"TEST/{p;N;s/.*\n[0-9]*/0/;}' filename
Este aspecto de "PRUEBA" (con la apertura de una doble cotización) al comienzo de la línea. Si se encuentra, lo que imprime línea (p), Y añade la siguiente línea a la estructura del espacio (N). Esto hace que el patrón de espacio para contener dos líneas: la línea PRUEBA y la siguiente línea, separados por una nueva línea. A continuación, se sustituye (s// /) La primera línea de las características del espacio, la nueva línea, y todo número justo después de la nueva línea con un cero. En ese momento, estamos haciendo; lo que queda en la estructura del espacio se imprimirá como de costumbre. sed sintaxis es muy concisa, y si usted no tiene un motivo concreto para usar sed para ello, tal vez un equivalente awk o Perl secuencia de comandos sería más mantenible (especialmente si usted no está muy familiarizado con sed). Editado por última época; al 05-18-2008 06:46 AM.. Motivo: Tal vez prefiere awk o Perl, después de todo ...? |
|
||||
|
Gracias, funciona.
Me pregunto cómo usar awk para hacerlo. |
|
||||
|
Código:
awk '/^"TEST/ { t=1 ; print; next }
t==1 { $1 = "0"; t=0; }1' filename
|
|
||||
|
Gracias, era.
¿Crees que me puede recomendar algunos libros o websit? Me gustaría saber más acerca de script. Yo siempre encuentro algunos problemas, y no podía averiguar por mí mismo. |
|
||||
|
Uno de mis favoritos personales son Kernighan y Pike's El Entorno de Programación UNIX pero es muy antiguo, por lo que algunos de los detalles periféricos han cambiado mucho desde entonces. Otra perenne es la Friedl El dominio de las expresiones regulares, Aunque puede que lucha con él en la primera si usted no está familiarizado con las herramientas que se refiere.
El O'Reilly sed Y awk libro es una buena introducción a sed awk y, aunque hay una gran cantidad de tutoriales on-line, que son probablemente tan bueno. La sección FAQ tiene más enlaces; Soy nuevo en Unix. Libros que debo leer? - Los Foros de UNIX |
![]() |
| Marcadores |
| Etiquetas |
| regex, expresiones regulares |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|