Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » piszczyk 01:43
 » Chavez 01:26
 » Chrisu 01:25
 » metacom 01:21
 » Martens 01:17
 » BoloX 01:16
 » Dzban 01:02
 » Qjanusz 00:53
 » Irys 00:51
 » ulan 00:41
 » RaPToRR 00:22
 » zibi13 00:10
 » esteban 23:52
 » alkatraz 23:48
 » Menah 23:36
 » luckyluc 23:27
 » Wolf 23:25
 » selves 23:24
 » wrrr 23:24
 » fiskomp 23:14

 Dzisiaj przeczytano
 36876 postów,
 wczoraj 25433

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2025
A R C H I W A L N A   W I A D O M O Ś Ć
    

wykasowanie 2 wierszy z dużej ilości plików , DmK 29/08/07 18:34
Potrzebuję znaleźć sposób aby wykasować 2 pierwsze wiersze z dużej ilości plików tak aby wiersz 3 i reszta przeniosła się do początku pliku (czyli wiersz 3 będzie wierszem 1). Jednocześnie 2 pierwsze wiersze są w każdym pliku takie same. Plik jest w formacie "notatnikowym". Muszę mieć również gwarancje że nic nie zostanie dopisane. Ktoś ma na to jakiś pomysł? Będę wdzięczny.

  1. hmm , waski 29/08/07 18:44
    Program w awk wygladalby tak:
    NR < 3 {;}

    Takze jesli chcesz to mozesz odpalic gawk w jakims skrypcie dla wszystkich plikow i juz...

    SNAFU
    Situation Normal, All Fucked Up

    1. albo jescze latwiej , waski 29/08/07 18:47
      cat -n 3

      SNAFU
      Situation Normal, All Fucked Up

    2. .... , DmK 29/08/07 19:16
      sorry ale nie zrozumiałem...

  2. tcsh + sed , DrLamok 29/08/07 19:23
    foreach file (*txt)
    sed '1,2d' $file > tt
    mv tt $file
    end


    --

  3. heh , DmK 29/08/07 19:47
    ok. niestety rady idą w stronę w której o wiele więcej informacji bym potrzebował... ale sprawdzam co to jest awk i to tcsh + sed :)

    1. To napisz coś więcej... , Umek 29/08/07 22:44
      chcesz kod do jakiegoś języka programowania?
      Te 2 wiersze są unikalne? Program robiący replace tekstu wsadowo wystarczy?
      Tych plików masz miliardy, a każdy ma po 19GB wielkości, długości wierszy mają po kilka MB wielkości?
      Robisz to raz czy będziesz cyklicznie (jakiś automat).
      Więcej danych się podaje...
      Pozdr.

      1. więc tak jak napisałem , DmK 29/08/07 22:52
        chce coś "prostego" co nie wiąże się z programowaniem. Plików jest 200. Tak ja napisałem wiersze są w każdym pliku takie same (te 2 do usunięcia) i w całym pliku nigdy się nie powtarzają - wiersze powstają przy generacji na podstawie procedury. Plik ma od 300 kb do 6 MB, Wystarczy mi coś co zrobi to tak że wywali te 2 pierwsze wersji i przesunie resztę do góry. A i operacji ta będzie powtarzalna ale zawsze będzie chodził o to żeby wywalić pewien ciąg znaków z 2 pierwszych linii i ten ciąg znaków wszystkich plikach będzie taki sam.

        1. tak ponad rok temu , JOTEM 30/08/07 00:27
          napisałem z nudów komuś podobne narzędzie:

          jotem.magma-net.pl/rozne/multirep.zip

          Umieść wszystkie pliki w jednym katalogu, otwórz dowolny z nich, wpisz w miejsce ciągu do wyszukania pierwsza linię i uruchom, powtórz z drugą.
          Uwaga, zamienia "w miejscu" nie robi kopii !

          Poryjemy..zrobaczymy

        2. zrób dokładnie to co napisał DrLamok , kicior 30/08/07 00:35
          jeśli chcesz to samo w wersji dla bash-a robisz tak:
          wchodzisz do katalogu gdzie masz te pliki(tu zakładamy, że mają rozszerzenie .txt) i piszesz:
          for i in $(ls *.txt) ; do sed '1,2d' $i > xx.tmp ; mv xx.tmp $i ; done
          wciskasz enter i pozamiatane.
          Możesz to zrobić albo odpalając jakieś livecd z linuksem albo instalując pod windą cygwin-a.

  4. meczyło mnie więc masz tu wersje pod konsole dosa :) gotowiec tylko kliknac , DrLamok 30/08/07 01:47
    wynalazlem na necie seda w wersji win32
    ( tutaj byl http://sourceforge.net/projects/unxutils )
    + do tego petla w pliku bat
    + zrobilem Ci nawet 4 mini pliki tekstowe do przetestowania działania

    gotowiec tutaj
    http://rapidshare.com/.../52140091/2linie.zip.html

    ----

    plik 2linie.bat wyglada tak

    for %%x in (*.txt) do (
    sed "1,2d" %%x > tt
    move tt %%x
    )

    ---

    wrzucasz 2linie.bat i sed.exe do katalogu z plikami .txt i uruchamiasz 2linie.bat...
    obcina 2 pierwsze linie wszystkich znalezionych plików txt tak jak chciałeś.

    a teraz to ide spac... bo 0:45 juz a ja o 6 do pracy wstaje

    -

    1. rewelacja , DmK 30/08/07 08:53
      zaraz będę sprawdzał, dziękuje bardzo :)

    2. działa idealnie , DmK 30/08/07 12:22
      serdecznie dziękuje za pomoc, właśnie oszczędziłeś mi paru godzin roboty.

    
All rights reserved ® Copyright and Design 2001-2025, TwojePC.PL