![]() |
Hello and Welcome-tól az Egyesült Államokat, hogy az UNIX és Linux Forums? Köszönjük, hogy meglátogatta és csatlakozik Globális Közösség.
|
|
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 |
| ld: végzetes: vállalatáthelyezések marad allocatable ellen, de nem írható szakaszok | tdallagn | SUN Solaris | 0 | 05-21-2008 08:58 AM |
| kivonat több szakaszból egy fájlt | rgentis | A UNIX a fejlett és szakértői Felhasználók | 1 | 03-18-2008 08:40 PM |
| letöltött több vonal több helyen egy fájlt | Dala | Shell programozás és Scripting | 8 | 03-14-2008 03:28 PM |
| Handle Konfigurációs fájl azonos neve Paraméter több szakaszban | potro | Shell programozás és Scripting | 7 | 03-05-2008 11:36 AM |
| Fájl formában. tar.gz nélkül Uncompressing. tar.gz fájl | balireddy_77 | Shell programozás és Scripting | 2 | 07-10-2007 05:23 AM |
![]() |
|
|
LinkBack | Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
|
|
||||
|
kivonat több szakaszból fájl
Van egy kép, hogy kell feldolgozni a több szakaszból a fájlt.
A fájl több vonal kezdetű ST (Abunch adatok) Ezután a fájl több vonal kezdetű SE (Abunch adatok) SE * 30 * 0001 ST * 810 * 0002 Kell az összes között, beleértve ezeket. Ezeket a számlákat. A számlán kezdődik az ST sorban, és véget ér az SE sor. Szükségem van arra, hogy megszüntesse az összes számlát külön fájlokat. Tud valaki kérem, segítsen nekem. Tudom, grep, sedVagy AWK tudjuk csinálni, de nem biztos benne, hogyan. Köszönöm Íme egy példa: ST * 810 * 0001 BIG 20080315 * 1220680417 * ** *** BOCSÁTÁST DI N1 * BT * MCLANE MAGAS Plains * 92 * 46120004 N1 * ST * Swc 7-11 # 57134 * 91 * 571315 N3 * 2712 E 8. GD N4 ODESSA * * * TX 79761 REF * ST * 000134 ITD * 05 * 3 ***** 7 ***** NET 7 IT1 ** 1 * CA * 20,09 ** CB * 649251 * PI * 093 * UP * 099299711018 * RA * NA ZZ TXI * 2 * 1,53 **** CTP ** RES * 0 *** CSR * 1 PID * F **** 7-11 T-SHIRT BAG 1 / 7 BBL Po4 * 1000 IT1 ** 1 * EA * 33,72 ** CB * 834861 * PI * 093 * UP * 012253022401 * RA * NA ZZ TXI * 2 * 2,57 **** CTP ** RES * 0 *** CSR * 1 PID * F **** KIT CONCRETE CHAMP Po4 * 1 IT1 ** 1 * EA * 0,03 ** CB * 192849 * PI * 093 * UP * 000000192842 * RA * NA CTP ** RES * 0 *** CSR * 1 PID * F **** SCS 711 BK 200 Po4 * 1 IT1 ** 30 * EA * 2,59 ** CB * 001511 * PI * 093 * UP * 025215102776 * RA * NA CTP ** RES * 0 *** CSR * 1 PID * F **** Maxell T-160 PLUS VIDEÓ Po4 * 1 TDS * 18454 SAC * C * G740 *** 5300 *** ******* 06 SZERVIZ CTT * 4 SE * 30 * 0001 |
|
||||
|
Köszönöm a gyors választ.
Azt tettem, amit szerettem volna. Azonban a három részből kell, hogy a különböző elemzett fájlokat. Szóval már ST adatok TF Ezt figyelembe kell venni a fájlba 1 ST adatok TF Ezt figyelembe kell venni, hogy 2 fájl ETC ..... Azt is észrevettem, hogy az ST és az SE meg vannak számlálva. ST * 810 * 0004 Majd SE * (szám) * 0004 Köszönöm Last edited by rgentis; 03-18-2008 at 08:07 PM.. Ok: Added valamit |
|
||||
|
nawk 'BEGIN (n \u003d 1)
$ 0 ~ / ^ ST / (f \u003d 1) $ 0 ~ / ^ SE / számla ([n] \u003d sprintf ( "% s \ n% s", számla [n], $ 0), f \u003d 0; n \u003d n +1) ( if (f \u003d\u003d 1) A számla [n] \u003d sprintf ( "% s \ n% s", számla [n], $ 0) ) END ( for (i in számla) nyomtatott számlát [i]>> i close (i) ) 'Filename |
|
||||
|
kivonat több szakaszból fájl
# - A ST értékek kimeneti fájl neve.
awk-v out \u003d "/ dev / null" " / ^ ST / (gsub ( "\ \ *","-",$ 0); out \u003d $ 0". Txt ") / ^ SE / (close (out)) : (Printf "% s \ n", $ 0>> out) '$ Infile Kimenet lesz ST-810-0001.txt stb ... -Ramesh |
![]() |
| Könyvjelzõk |
| Címkék |
| linux, Linux parancsok, Solaris |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|