The UNIX and Linux Forums  

Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de scripts de shell y
.
google unix.com



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
ordenar determinados Patten? no todo el archivo? nabmufti Programación de scripts de shell y 6 02-14-2008 10:54 AM
añadir columnas de archivo a otro tipo y kamel.seg Programación de scripts de shell y 12 12-12-2007 02:39 PM
Cómo Ordenar un archivo para una situación determinada? vishalpatel03 Programación de scripts de shell y 4 11-26-2007 10:53 AM
Clasificar y comparar el archivo sabercats Programación de scripts de shell y 3 03-27-2006 04:05 PM
cómo ordenar un archivo tao UNIX for Dummies Preguntas y Respuestas 2 03-24-2002 11:34 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 02-09-2008
mozart mozart is offline
Usuario Registrado
  
 

Fecha: febrero 2008
Publicaciones: 1
tipo csv

hola chicos.
Soy bastante nuevo en scripts de shell. y he estado practicando la codificación
en un archivo CSV (valores separados por comas) archivo es posible ordenar un bloque?

¿Qué debo hacer si desea ordenar los contactos por su cumpleaños en orden ascendente (de enero a diciembre)? Y quiero sólo para mostrar su nombre y cumpleaños?

Aquí está el archivo

Sharapova, Maria ,19-abril-1987, Brandenton Florida, EE.UU., admin@mariasharapova.com, +1 (954) 3387488
Bryant, Kobe ,23-agosto-1978, LA California, EE.UU., kobe@lakers.comk +1 (310) 87890
Spielberg, Steven ,18-dic-1946, LACalifornia, EE.UU., steven@dreamworks.com, +1 (389) 89098
Harnois, Elisabeth ,26-may-1979, Detroit, Michigan, EE.UU., liz@1treehill.net, +1 (313) 74564536
Ryan, Michelle ,22-abril-1984, Enfield Londres, Reino Unido, mryan@nbc.com, +44 (207) 2988410
Belle, Camilla ,2-octubre-19886, Miami, Florida, EE.UU., cam_65@hollywood.org, +1 (954) 3790491
Gellar, Sarah Michelle ,14-abril-1977, LA California, EE.UU., smg@buffy.com, +1 (213) 3398848m
Underwood, Carrie ,10-marzo-1983, Checotah Oklahoma, EE.UU., carrieunderwood@rca.com, +1 (918) 655423

muchas gracias!
  #2 (Enlace permanente)  
Old 02-09-2008
KevinADC KevinADC is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: enero 2008
Posts: 731
Es perl aceptable?
  #3 (Enlace permanente)  
Old 02-09-2008
KevinADC KevinADC is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: enero 2008
Posts: 731
Bueno, esperemos que me hizo esto durante más de mi propia diversión:


Código:
#!/usr/bin/perl
use warnings;
use strict;
my @months_numeric = qw(01 02 03 04 05 06 07 08 09 10 11 12);
my @months_alphas  = qw(jan feb mar apr may jun jul aug sep oct nov dec);
my %months;
@months{@months_alphas} = @months_numeric;
open (my $in , '<', 'path/to/celebs.csv') or die "$!";
my @sorted = map {$_->[0]}
             sort{$a->[1] cmp $b->[1]}
             map {chomp;
                  my $bd = (split(","))[2];
                  my ($d,$m,$y) = split("-",$bd);
                  $d = $d<10 ? "0$d" : $d;
                  [$_,"$y$months{$m}$d"]} <$in>;
close $in;
print "$_\n" for @sorted;

Asume todos los meses están representados por tres personajes y todos son siempre minúsculas.
  #4 (Enlace permanente)  
Old 02-10-2008
drl's Avatar
DRL drl is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: abril 2007
Ubicación: Saint Paul, MN EE.UU. / BSD, CentOS, Debian, OS X, Solaris
Puestos: 717
Hola, Mozart.

Bienvenido al foro. En el futuro, por favor sonido envolvente de datos con etiquetas de código de manera que se puede leer con facilidad, y hacer lo mismo para las secuencias de comandos.

He añadido un par de líneas para el ejercicio de selección de campos. Este script utiliza a menudo se encuentran en los comandos de órdenes en * nix. El estándar tipo tiene una opción para el nombre meses:

Código:
#!/usr/bin/env sh

# @(#) s1       Demonstrate sorting fields by transforming.

#  ____
# /
# |   Infrastructure BEGIN

echo
set -o nounset

debug=":"
debug="echo"

## The shebang using "env" line is designed for portability. For
#  higher security, use:
#
#  #!/bin/sh -

## Use local command version for the commands in this demonstration.

set +o nounset
echo "(Versions displayed with local utility \"version\")"
version >/dev/null 2>&1 && version =o $(_eat $0 $1) tr cut sort
set -o nounset

echo

FILE=${1-data1}
echo " Input file $FILE:"
cat $FILE

# |   Infrastructure END
# \
#  ---

echo
echo " Results from processing:"
tr ' ' '_' <$FILE |
tr ',-' ' ' |
cut -d" " -f1-5 |
sort --key=5,5 --key=4M,4 --key=3,3

exit 0

La producción de:

Código:
% ./s1 data2

(Versions displayed with local utility "version")
Linux 2.6.11-x1
GNU bash, version 2.05b.0(1)-release (i386-pc-linux-gnu)
tr (coreutils) 5.2.1
cut (coreutils) 5.2.1
sort (coreutils) 5.2.1

 Input file data2:
Bryant,Kobe4,23-sep-1979,L.A. California,USA,kobe@lakers.comk+1(310)87890
Sharapova,Maria,19-apr-1987,Brandenton FLorida,USA,admin@mariasharapova.com,+1(954)3387488
Bryant,Kobe1,23-aug-1978,L.A. California,USA,kobe@lakers.comk+1(310)87890
Spielberg,Steven,18-dec-1946,L.A.California,USA,steven@dreamworks.com,+1(389)89098
Harnois,Elisabeth,26-may-1979,Detroit Michigan,USA,liz@1treehill.net,+1(313)74564536
Ryan,Michelle,22-apr-1984,Enfield London,UK,mryan@nbc.com,+44(207)2988410
Belle,Camilla,2-oct-19886,Miami Florida,USA,cam_65@hollywood.org, +1(954)3790491
Gellar,Sarah Michelle,14-apr-1977,L.A. California,USA,smg@buffy.com,+1(213)3398848m
Underwood,Carrie,10-mar-1983,Checotah Oklahoma,USA,carrieunderwood@rca.com,+1(918)655423
Bryant,Kobe3,23-sep-1978,L.A. California,USA,kobe@lakers.comk+1(310)87890
Bryant,Kobe2,24-aug-1978,L.A. California,USA,kobe@lakers.comk+1(310)87890

 Results from processing:
Spielberg Steven 18 dec 1946
Gellar Sarah_Michelle 14 apr 1977
Bryant Kobe1 23 aug 1978
Bryant Kobe2 24 aug 1978
Bryant Kobe3 23 sep 1978
Harnois Elisabeth 26 may 1979
Bryant Kobe4 23 sep 1979
Underwood Carrie 10 mar 1983
Ryan Michelle 22 apr 1984
Sharapova Maria 19 apr 1987
Belle Camilla 2 oct 19886

Me gusta tu música, espero que te gusta mi obra s1 . Ver las páginas man para obtener detalles ... cheers, DRL
  #5 (Enlace permanente)  
Old 02-10-2008
sitney sitney is offline
Usuario Registrado
  
 

Fecha: febrero 2008
Puestos: 24
Cita:
¿Qué debo hacer si desea ordenar los contactos por su cumpleaños en orden ascendente (de enero a diciembre)? Y quiero sólo para mostrar su nombre y cumpleaños?
Sus necesidades no se especifica si desea clasificar por año en primer lugar, pero sólo por mes. Por lo que esta línea un requisito que deben cumplir:


Código:
sort -t"," -k 3 -t"-" -k 2 -M birthdays.txt |awk -F"," '{print $1, $2, $3}'

  #6 (Enlace permanente)  
Old 02-10-2008
alamitab alamitab is offline
Usuario Registrado
  
 

Fecha: enero 2007
Publicaciones: 25
Clasificar por mes

cat archivo | awk-F "," '(print $ 1, $ 2, $ 3)' | sort-M-t "-"-k 2
Closed Thread

Marcadores

Etiquetas
linux, comandos linux

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 07:12 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0