|
| Kompliceret sortering Fra : Sune Lehmann |
Dato : 19-09-02 18:12 |
|
Hej,
Jeg skal filtrere data ud et input, der kan have een af tre følgende former:
53) F. Close et al., TRANSPARENCIES FROM WORKSHOP ON NEUTRINO
PHYSICS CERN, GENEVA, OCTOBER 30 AND 31, 1978.
Print-80-0151 (CERN) (Oct 1978) 183p.
N/A: citation search is available only for journal papers or
e-prints
54) J.T. Lewis, J. Thomson, D. Williams, QUANTUM STOCHASTIC PROCESSES. 1.
Published in Phys.Rept.77:339,1981.
Cited 2 times. To get the listing use: FIN C PRPLC,C77,339
55) Alfred Frigerio, Mario Cassio Bellini, QUANTUM STOCHASTIC PROCESSES. 2.
Published in Phys.Rept.77:351,1981.
This work currently has no citations in the HEP database.
Fra disse skal jeg bruge et output a la
F. Close % navn
N/A %
citationsoplysninger ()
J.T. Lewis
2
J. Thomson
2
D. Williams
2
A. Frigerio,
0
M. C. Bellini
0
Jeg er lidt af en novice, hvad angår Perl, men jeg håber, at nogen kan
hjælpe mig.
Venligst
Sune Lehmann
| |
Adam Sjøgren (19-09-2002)
| Kommentar Fra : Adam Sjøgren |
Dato : 19-09-02 18:16 |
|
On Thu, 19 Sep 2002 19:12:13 +0200, Sune Lehmann wrote:
> Jeg skal filtrere data ud et input, der kan have een af tre følgende
> former:
[...]
> Fra disse skal jeg bruge et output a la
[...]
> Jeg er lidt af en novice, hvad angår Perl, men jeg håber, at nogen
> kan hjælpe mig.
Hvad har du prøvet indtil nu?
Mvh.
--
"I wear my unprofessionalism as a badge of honor. Adam Sjøgren
Professionalism has no place in art" asjo@koldfront.dk
| |
Sune Lehmann (20-09-2002)
| Kommentar Fra : Sune Lehmann |
Dato : 20-09-02 09:49 |
|
> Hvad har du prøvet indtil nu?
Indtil videre har jeg lavet 3 skripts, der hiver citationsoplysningerne ud.
Her er et eksempel:
open INPUT,"<data.dat";
open OUTPUT,">cit.dat";
while(<INPUT>)
{
next unless m/Cited/;
split;
print OUTPUT $_[1],"\n";
}
close OUTPUT;
Min tanke er, at sætte disse tre sammen i een fil, så jeg får citationerne
ud i samme rækkefølge som forfatterne.
Grunden til at jeg skrev min post var, at jeg i lang tid havde forsøgt at
sammensætte et regulært udtryk, der kunne fange forfatter-linien uden at
tage titlen med. Og det er måske dét jeg i virkeligheden gerne vil hjælpes
igang med.
Planen er så at kombinere Forfatter- og Citatfilen, "folde forfatterne ud"
(hvis der er mere end een) og til sidst sørge for at forkorte fornavne til
initialer.
Hvad angår at skabe et regulært udtryk, der kan hive forfatteroplysningerne
ud, har jeg prøvet at udnytte, at forfatterlisten altid er afsluttet med
enten "et al." eller artikel-navnet, der er i all caps. Det virker bare
ikke.
Venligst
Sune Lehmann
| |
Adam Sjøgren (22-09-2002)
| Kommentar Fra : Adam Sjøgren |
Dato : 22-09-02 21:14 |
|
On Fri, 20 Sep 2002 10:48:57 +0200, Sune Lehmann wrote:
> Hvad angår at skabe et regulært udtryk, der kan hive
> forfatteroplysningerne ud, har jeg prøvet at udnytte, at
> forfatterlisten altid er afsluttet med enten "et al." eller
> artikel-navnet, der er i all caps. Det virker bare ikke.
Hvordan ser det der ikke virker ud?
Mvh.
--
"Actually, now that my good side is no longer a Adam Sjøgren
physical being, I find him that much easier to ignore" asjo@koldfront.dk
| |
Dennis Haney (23-09-2002)
| Kommentar Fra : Dennis Haney |
Dato : 23-09-02 08:11 |
|
"Sune Lehmann" <lehmann@nbi.dk> writes:
> Hej,
>
> Jeg skal filtrere data ud et input, der kan have een af tre følgende former:
>
> 53) F. Close et al., TRANSPARENCIES FROM WORKSHOP ON NEUTRINO
> PHYSICS CERN, GENEVA, OCTOBER 30 AND 31, 1978.
> Print-80-0151 (CERN) (Oct 1978) 183p.
>
> N/A: citation search is available only for journal papers or
> e-prints
>
>
> 54) J.T. Lewis, J. Thomson, D. Williams, QUANTUM STOCHASTIC PROCESSES. 1.
> Published in Phys.Rept.77:339,1981.
>
> Cited 2 times. To get the listing use: FIN C PRPLC,C77,339
>
>
> 55) Alfred Frigerio, Mario Cassio Bellini, QUANTUM STOCHASTIC PROCESSES. 2.
> Published in Phys.Rept.77:351,1981.
>
> This work currently has no citations in the HEP database.
>
> Fra disse skal jeg bruge et output a la
>
> F. Close % navn
> N/A %
> citationsoplysninger ()
> J.T. Lewis
> 2
> J. Thomson
> 2
> D. Williams
> 2
> A. Frigerio,
> 0
> M. C. Bellini
> 0
>
> Jeg er lidt af en novice, hvad angår Perl, men jeg håber, at nogen kan
> hjælpe mig.
du har da også fundet et lidt tricke sted at starte...
men frit fra leveren:
open(F,"in")||die$!;
my @cites=split(/^\d+\)/,join"",<F>);
close F;
my %author;
foreach my $cite (@cites){
my @authors=split/,/,(split/\n/,$_,1);
pop @authors;#fjern titel
if (/Cited\s+(\d+)/) {
my $num=$1;
$author{$_}+=$num foreach @authors;
}
}
foreach my $author (sort {$author{$b} <=> $author{$a}} keys %author) {
print "$author\n$author{$author}\n";
}
--
Dennis
I have always thought explanations were overkill when correcting
mistakes. A simple "that's wrong" must suffice. I mean, people are
always aware why they are wrong. They just make mistakes to annoy you.
| |
Sune Lehmann (20-10-2002)
| Kommentar Fra : Sune Lehmann |
Dato : 20-10-02 21:27 |
|
Genialt,
Jeg har fået det til at virke og lært en masse om Perl. Tusind tak!
Sune Lehmann
"Dennis Haney" <davh@diku.dk> wrote in message
news:x6evg4xyycg.fsf@galar.diku.dk...
> "Sune Lehmann" <lehmann@nbi.dk> writes:
>
> > Hej,
> >
> > Jeg skal filtrere data ud et input, der kan have een af tre følgende
former:
> >
> > 53) F. Close et al., TRANSPARENCIES FROM WORKSHOP ON NEUTRINO
> > PHYSICS CERN, GENEVA, OCTOBER 30 AND 31, 1978.
> > Print-80-0151 (CERN) (Oct 1978) 183p.
> >
> > N/A: citation search is available only for journal papers or
> > e-prints
> >
> >
> > 54) J.T. Lewis, J. Thomson, D. Williams, QUANTUM STOCHASTIC PROCESSES.
1.
> > Published in Phys.Rept.77:339,1981.
> >
> > Cited 2 times. To get the listing use: FIN C PRPLC,C77,339
> >
> >
> > 55) Alfred Frigerio, Mario Cassio Bellini, QUANTUM STOCHASTIC PROCESSES.
2.
> > Published in Phys.Rept.77:351,1981.
> >
> > This work currently has no citations in the HEP database.
> >
> > Fra disse skal jeg bruge et output a la
> >
> > F. Close % navn
> > N/A %
> > citationsoplysninger ()
> > J.T. Lewis
> > 2
> > J. Thomson
> > 2
> > D. Williams
> > 2
> > A. Frigerio,
> > 0
> > M. C. Bellini
> > 0
> >
> > Jeg er lidt af en novice, hvad angår Perl, men jeg håber, at nogen kan
> > hjælpe mig.
>
> du har da også fundet et lidt tricke sted at starte...
>
> men frit fra leveren:
>
> open(F,"in")||die$!;
> my @cites=split(/^\d+\)/,join"",<F>);
> close F;
> my %author;
> foreach my $cite (@cites){
> my @authors=split/,/,(split/\n/,$_,1);
> pop @authors;#fjern titel
> if (/Cited\s+(\d+)/) {
> my $num=$1;
> $author{$_}+=$num foreach @authors;
> }
> }
>
> foreach my $author (sort {$author{$b} <=> $author{$a}} keys %author) {
> print "$author\n$author{$author}\n";
> }
>
> --
> Dennis
> I have always thought explanations were overkill when correcting
> mistakes. A simple "that's wrong" must suffice. I mean, people are
> always aware why they are wrong. They just make mistakes to annoy you.
| |
Dennis Haney (21-10-2002)
| Kommentar Fra : Dennis Haney |
Dato : 21-10-02 14:15 |
|
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
"Sune Lehmann" <lehmann@nbi.dk> writes:
> Genialt,
>
> Jeg har fået det til at virke og lært en masse om Perl. Tusind tak!
Det er jeg da glad for at høre.
- --
Dennis
I have always thought explanations were overkill when correcting
mistakes. A simple "that's wrong" must suffice. I mean, people are
always aware why they are wrong. They just make mistakes to annoy you.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8 < http://mailcrypt.sourceforge.net/>
iD8DBQE9s/3Fo6hqeoa8JFgRAh0xAJ9R9m7Y+zKnpLIGLIyb7Hn7PjGWRACg6BTy
SJSg4Rwg+aZKIwd0vcIh22g=
=3fHv
-----END PGP SIGNATURE-----
| |
|
|