![]() |
|
|
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 |
| Para cortar toda la columna de un archivo y apend a otro archivo en otra columna | sakthifire | Programación de scripts de shell y | 4 | 06-25-2008 05:27 AM |
| Archivo | Krishnaramjis | Programación de scripts de shell y | 9 | 05-08-2008 11:28 PM |
| Cómo verificar los valores nulos en un archivo de la columna por columna si las columnas no son valores NULL | Mandab | Programación de scripts de shell y | 7 | 03-15-2008 09:57 AM |
| Archivo XML para | balireddy_77 | Programación de scripts de shell y | 2 | 04-13-2007 06:57 AM |
| Nombres de columna en archivos planos | srivsn | Programación de scripts de shell y | 1 | 12-27-2005 06:47 AM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
|||||
|
Dhruv,
Aquí está el problema de nuevo .. Tengo un archivo cuyo buscar columna se fija en la secuencia decir .. "MANDT Sérail SERSCHA SEREX EQTYP BSTVP" i esta secuencia ha almacenado en una variable .. Ahora Estoy recibiendo archivo de datos de la columna cuya secuencia podría ser differnt de mencionar que tengo en la búsqueda de cadena. Quiero resuffle este archivo de datos de acuerdo a la columna de la secuencia look_up cadena. archivo de datos de secuencia podría ser la columna caso -1 secuencia ---------- SERSCHA SEREX EQTYP BSTVP MANDT Sérail 333 4343 fdfd fdfdf dssds fdfdf 343 343 Rere 43 FDF 4343 -2 caso secuencia: ------------------- SEREX EQTYP BSTVP MANDT Sérail SERSCHA 121 3232 323 ddd sd 223 ver la secuencia de estos archivos cada vez que la secuencia de la columna varía. la última de estas reaange archivo debe basarse en la columna de la búsqueda de [cadena de siempre. Vale 1 Ahora quiero resuffle este archivo de datos a fin de que a partir de la columna MANDT debe venir primero y luego ... luego SERSCHA Sérail SEREX EQTYP y el último resuffle datos que adjuntar a decir un nombre de archivo final_data.txt |
|
||||
|
Código:
awk -v str="MANDT SERAIL SERSCHA SEREX EQTYP BSTVP" '
NR == 1 {
n=split( str , arr , " " )
for( i = 1; i <= n ; ++i )
arr_ac[$i]=i
for( i = 1; i <= n ; ++i )
col[i]=arr_ac[arr[i]]
print str
}
NR > 1 {
for(i = 1; i <= n ; ++i )
printf("%s ",$col[i])
printf("\n")
}
' file >> final_data.txt
|
|
|||||
|
comprobar este puesto
reorganizar el archivo sobre la base de búsqueda de archivos |
|
||||
|
aquí tienes una alternativa en Python: Código:
def transpose(matrix):
return [[matrix[y][x] for y in range(len(matrix))]for x in range(len(matrix[0]))]
all = open("input.txt").readlines()
lookupstring = ['MANDT', 'SERSCHA','SERAIL' , 'SEREX', 'EQTYP', 'BSTVP']
listing = [ i.split() for i in all ]
results = transpose(listing)
final= [ r for items in lookupstring for r in results if items == r[0] ]
for i in transpose(final):
print ','.join(i)
Entrada: Código:
MANDT SERAIL EQTYP SERSCHA SEREX BSTVP 510 hsgdfs 44 sercha sex1 bst233 510 bg 89 fg 23 98 510 gh 89 we sew mn Salida: Código:
/home>python test.py MANDT,SERSCHA,SERAIL,SEREX,EQTYP,BSTVP 510,sercha,hsgdfs,sex1,44,bst233 510,fg,bg,23,89,98 510,we,gh,sew,89,mn |
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|