Non perderti il meglio di Mac Peer
Iscriviti alla newsletter settimanale del nostro magazine: ogni venerdì ti aspetta una selezione di articoli, guide e approfondimenti di cultura digitale, con uno sguardo attento e indipendente sul mondo Apple.
👉 Inserisci la tua email e resta aggiornato.
-
Mac Peer Aficionado
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...
-
Mac Peer Aficionado
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"
-
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?
-
Mac Peer Aficionado
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 :-)
-
Mac Peer Aficionado
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
-
Di uglygirl nel forum Mac Help
Risposte: 4
Ultimo Messaggio: 19-07-07, 14:02
-
Di jarisse nel forum Grafica digitale su Mac
Risposte: 8
Ultimo Messaggio: 23-10-06, 13:45
-
Di maverick nel forum Mac Basic
Risposte: 18
Ultimo Messaggio: 14-09-06, 23:36
-
Di epifanio nel forum Mac Help
Risposte: 2
Ultimo Messaggio: 21-06-06, 20:34
-
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
-
Regole del Forum
Connect With Us