![]() |
|
|
google unix.com
|
|||||||
| Fórumok | Regisztráció | Fórum Szabályok | Linkek | Albumok | GYIK | Tagok listája | Naptár | Keres | Mai hozzászólások | Megjelöl Fórumok Olvas |
| Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt. |
Több, UNIX és Linux fórum témák Ön által talált Hasznos
|
||||
| Szál | Thread Starter | Fórum | Válaszok | Utolsó hozzászólás |
| Parse XML feladatok listáját, hogy minden egyes fájl task.xml | MissI | Shell programozás és Scripting | 3 | 11-11-2008 02:20 PM |
| észrevételeket és vedd ki az egyetlen feladat a több feladat | madhusmita | Shell programozás és Scripting | 9 | 06-18-2008 10:42 AM |
| Aritmetikai operátorok | filda | A UNIX a dummies Kérdések és válaszok | 0 | 06-13-2008 01:55 AM |
| Használhatom wc-l az aritmetikai kifejezés? | lalelle | Shell programozás és Scripting | 3 | 08-11-2007 07:44 PM |
| aritmetikus a KSH | Amon | Shell programozás és Scripting | 12 | 02-05-2007 02:43 AM |
![]() |
|
|
LinkBack | Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
|
|
||||
|
sed vagy awk a számtani feladatot
Nekem van ilyen típusú fájl formátuma
01.02.09 08:30 bob : Jill mark 01.04.09 07:00 bob : Jill mark tom Azt akarom, hogy számít a nevek után a dátum / ime vonal (01.02.09 08:30), és adjunk a számot, miután az ehhez hasonló 01.02.09 08:30 3 01.04.09 07:00 4 Nem érdekel a nevek után a gróf úgy tudom hagyni, vagy a szalag ki sed ha az egyszerűsíti a folyamatot. Azt is irányítsa át a kimenetet a dátum / idő és a gróf a második fájlt, ha az teszi egyszerűbbé. Az egyetlen dolog, amit igazán szükség van az az időpont, és a számot a ugyanabban a sorban. Mi a legjobb eszköz ennek az elvégzéséhez, és tud valaki példaként szolgál? |
|
||||
|
Szinte azt
Szép ...
Meg kellett hozzá, hogy helyet "" és a változás NF-1-NF-2-t pontosan számolni az összes vonalak, kivéve az utolsó és az első bejegyzést. NF-1 adja meg a helyes kimenetet az utolsó sort csak számít. Én 9.000 vonalakat, amelyek így az utolsó és az első rossz nem jelentős kérdés. A következő probléma az, hogy csak kimenet az időt a sorban így: 10:00 4 11:00 6 Szükségem van a dátum a kimenetet. Jelenleg vizsgálja át a nawk kézikönyv, hogy kitaláljuk, hogyan lehet kombinálni idő és a dátum a kimenet. Minden olyan gyorsan javaslatok? BTW, futás nawk 1.3.3-tól Ubuntu 8.10 - |
|
||||
|
bemenet:
Kód:
01.02.09 08:30 bob jill mark 01.04.09 07:00 bob jill mark tom 01.02.09 09:30 bob jill mark hj gh fm 01.04.09 10:00 bob jill mark tom aaa bbb ccc Kód:
01.02.09 08:30 3 01.04.09 07:00 4 01.02.09 09:30 6 01.04.09 10:00 7 Kód:
#!/usr/bin/perl
$/="\n\n";
open FH,"<a.txt";
while(<FH>){
my @temp=split("\n",$_);
print $temp[0]," ",$#temp,"\n";
}
Kód:
awk '/[0-9]*\.[0-9]*\.[0-9]* [0-9][0-9]:[0-9][0-9]/{
a=$0
next
}
/^ *$/{
print a" "n
n=0
next
}
{
n++
}
' a.txt
Last edited by summer_cherry; 02-11-2009 at 11:54 PM.. |
|
|||||
|
Idézet:
mar.txt: Kód:
01.02.09 08:30 bob jill mark 01.04.09 07:00 bob jill mark tom teljesítmény: Kód:
01.02.09 08:30 3 01.04.09 07:00 4 |
|
||||
|
válasz
Az ugyanazon adatok ön például, megvan a következő rendelkezés lép:
nawk 'BEGIN (FS \u003d RS \u003d "") (print $ 1, NF-1)' data.txt 0 27 0 31 További teret engedve a "" $ Nawk 'BEGIN (FS \u003d RS \u003d "") (print $ 1, NF-1)' data.txt 01.02.09 0 08:30 4 07:00 4 Változtatva NF-2 $ Nawk 'BEGIN (FS \u003d RS \u003d "") (print $ 1, NF-2)' data.txt 01.02.09 -1 08:30 3 07:00 3 |
![]() |
| Könyvjelzõk |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|