Close

Risultati da 1 a 5 di 5
  1. #1

    aiutino per script bash

     

    sto provando uno script...

    ho 2 file di testo tipo :

    file one :

    2524464.205 4510655.961 12
    2524459.58400078 4510657.39162497 15
    2524455.06343952 4510658.51987919 11
    2524454.4559001 4510662.2213528 45
    2524458.4969279 4510663.26737144 15
    2524462.17553609 4510660.29479857 14
    2524464.205 4510655.961 18

    file two :

    # Created by Octave 2.1.73, Tue Feb 20 13:25:09 2007 CET
    # name: E_N_2
    # type: matrix
    # rows: 176139
    # columns: 2
    504455.753011171 4510648.91403669
    504451.132009197 4510650.34461556
    504446.61144776 4510651.4728253
    504446.003875401 4510655.17428485
    504450.044884308 4510656.22033858
    504453.723511693 4510653.24780659
    504455.753011171 4510648.91403669


    voglio creare un nuovo file come questo:

    504455.753011171 4510648.91403669 12
    504451.132009197 4510650.34461556 15
    504446.61144776 4510651.4728253 11
    504446.003875401 4510655.17428485 45
    504450.044884308 4510656.22033858 15
    504453.723511693 4510653.24780659 14
    504455.753011171 4510648.91403669 18

    i.e:
    quello di cui ho bisogno è di prendere la terza colonna del primo file
    e aggiungerla al secondo file.....
    banale ma non so da dove iniziare
    sed....awk ??
    per ora ho eliminato il commento con sed...

  2. #2
    usando:
    grep -v ^\# file1 > tmp && mv tmp file1

    cut -d" " -f3 file1 > tmp
    paste -d" " file2 tmp > file.merged

    ho ottenuto un file tipo :

    504455.753011171 4510648.91403669
    504451.132009197 4510650.34461556
    504446.61144776 4510651.4728253
    504446.003875401 4510655.17428485
    504450.044884308 4510656.22033858
    504453.723511693 4510653.24780659
    504455.753011171 4510648.91403669 12
    15
    11
    45
    15
    14
    18

    mi ha copiato la giusta colonna ma me la mette al posto sbagliato..
    io la dovrei sistemare al lato delle altre 2, separata da uno "spazio"

    idee ???

    esempi di "sed"

  3. #3
    ciao epifanio

    dovresti fare una scanf dei file

    riga 1 a riga 1 e fare il past

    conosci qualche linguaggio di programmazione?

    hai almeno un compilatore?

  4. #4
    ho solo esperienze di progammazione "base" con:
    matlab-octave-R
    st a zero di c/c++

    per quanto riguarda compilatori
    sul mio mac ho installato
    gcc 4.0.1
    gcc intel
    fortran77
    li uso per compilare sorgenti di vario genere.

    hai qualche consiglio su come procedere?
    non dovrebbero bastare i comandi a disposizione della bash?
    grazie :-)

  5. #5
    risolto con :

    gawk '{if(ARGIND==1){one[i++]=$1" "$2}else if(ARGIND==2 && $0 !~ /^#/){two[j++]=$3}} END{for(i in one)print one[i],two[i]}' file1 file2


    equivalente in perl :

    #!/usr/bin/perl -w

    use strict;
    use warnings;

    # Define Variables
    my $x = 0;
    my $y = 0;
    my @var;
    my $file1 = "filename";
    my $file2 = "filename2";
    my $mergefile = "merged name";

    # Get the numbers we want to tail onto our "file2"
    open(TEXT1, "cat $file1\|cut -d \" \" -f3|") or die ($!);
    while (){
    chomp;
    $x++;
    $var[$x] = $_;
    }
    close(TEXT1);


    # Open our merge file and combine file1 & 2
    open(MERGE, "> $mergefile") or die ($!);
    open(TEXT2, "cat $file2|") or die ($!);
    while (){
    chomp;
    $y++;
    print MERGE "$_" . "$var[$y]\n";
    }
    close(TEXT1);
    close(MERGE);

Discussioni Simili

  1. Aiutino con Miyu
    Di uglygirl nel forum Mac Help
    Risposte: 4
    Ultimo Messaggio: 19-07-07, 14:02
  2. aiutino illustrator
    Di jarisse nel forum Grafica digitale su Mac
    Risposte: 8
    Ultimo Messaggio: 23-10-06, 13:45
  3. aiutino apple script
    Di maverick nel forum Mac Basic
    Risposte: 18
    Ultimo Messaggio: 14-09-06, 23:36
  4. in bash : export DISPLAY=:0.0
    Di epifanio nel forum Mac Help
    Risposte: 2
    Ultimo Messaggio: 21-06-06, 20:34
  5. vitaminsee: un aiutino?
    Di Roccia nel forum Applicazioni per il Mac: suggerimenti e opinioni
    Risposte: 5
    Ultimo Messaggio: 15-01-06, 14:35

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •