![]() |
|
|
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 |
| Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí. |
Más UNIX y Linux Foro Temas usted puede encontrar útiles
|
||||
| Hilo | Hilo para principiantes | Foro | Respuestas | Último mensaje |
| Eliminación de las líneas de archivo de texto | hern14 | UNIX for Dummies Preguntas y Respuestas | 5 | 05-16-2008 04:03 PM |
| Tirando varias líneas de texto | DumDum | Programación de scripts de shell y | 2 | 03-10-2008 12:15 PM |
| Eliminación de Líneas de. Csv | 009satya | Programación de scripts de shell y | 1 | 11-13-2006 03:30 PM |
| la supresión de varios archivos a través de ftp | mgirinath | Programación de scripts de shell y | 4 | 04-18-2006 03:44 PM |
| Eliminación de múltiples líneas con sed | rambo15 | Programación de scripts de shell y | 1 | 02-16-2002 06:19 PM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
la supresión de las líneas de varios archivos de texto
Tengo un directorio completo de los archivos de datos de texto.
Lamentablemente tengo que deshacerme de la 7 ª y 8 ª línea de todos ellos para que yo pueda entrada en una aplicación SIG. He usado un script de awk que hacer de uno en uno, pero debido al gran número de archivos que necesito algún tipo de mecanismo para automatizar bucle ella. El script utilizado awk: -- awk 'BEGIN (getline f;) getline no FNR \u003d\u003d f, FNR \u003d\u003d (siguiente) No 1' numbers.txt de entrada> OutputFile numbers.txt que no es más que un documento con los números 7 y 8 Creo que necesitamos una manera de la tubería de salida del comando ls (del directorio) en donde se encuentra el de entrada y uno en contra a través de bucle hasta el final. Cualquier sugerencia será bienvenida (awk una sugerencia sería preferible a la perla) Da las gracias a todos |
|
||||
|
sed o awk son buenas opciones - en este caso es sed: Código:
for file in `ls *.txtdatafile`
do
sed '7,8d' $file > tmp.tmp
mv tmp.tmp $file
done
|
|
||||
|
Cita:
Lamentablemente, esta envía a todos en un gran tmp.file. Tengo que crear un nuevo archivo de texto para cada archivo de texto que se encuentra en el directorio. |
|
||||
|
Gack, por favor, no pongas la misma pregunta varias veces. Ya he contestado una vez.
la supresión de líneas específicas de todos los archivos en un directorio La segunda línea en el guión de Jim (y mío también) se mueve el archivo tmp en el archivo original. No puede volver a redirigir fácilmente un archivo, porque la redirección sucede antes de awk es para leerlo, por lo que el archivo termina siendo vacío. Hay varias maneras de evitar el uso de archivos temporales, pero en este caso en particular es probablemente no vale la pena. El LS invertidas en un antipattern; véase Un ejemplo de tratar con nombres de archivo con espacios en ellos para un análisis de los inconvenientes. Simplemente use "para el archivo en formato *. txtdatafile" en su lugar. |
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|