The UNIX and Linux Forums  


Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
Het schrappen van lijnen in tekstbestand hern14 UNIX voor Dummies Questions & Answers 5 05-16-2008 04:03 PM
Pulling meerdere lijnen tekst Kogel dumdum Programmeren en Shell Scripting 2 03-10-2008 12:15
Het schrappen van regels uit. CSV-bestanden 009satya Programmeren en Shell Scripting 1 11-13-2006 03:30 PM
het verwijderen van meerdere bestanden via ftp mgirinath Programmeren en Shell Scripting 4 04-18-2006 03:44 PM
Het verwijderen van meerdere regels met sed rambo15 Programmeren en Shell Scripting 1 02-16-2002 06:19 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 04-25-2008
Vrms vrms is offline
Geregistreerde gebruiker
  
 

Join Date: april 2008
Posts: 16
het schrappen van regels uit meerdere tekstbestanden

Ik heb een map vol tekst gegevensbestanden.

Helaas ik nodig om zich te ontdoen van de 7e en 8e lijn van ze allemaal zodat ik deze kan invoeren in een GIS-applicatie.

Ik gebruikte een awk script om een op een moment, maar door de enorme aantal bestanden Ik moet een soort lus mechanisme te automatiseren.

Het awk script gebruikt: --
awk 'BEGIN (getline F; getline t) FNR \u003d\u003d f, FNR \u003d\u003d t) (volgende 1' numbers.txt invoerbestand> uitvoerbestand

waar numbers.txt is slechts een document met de nummers 7 en 8

Mijn gok is dat ik een manier van leidingen van de uitvoer van ls (van de directory) in waar het invoerbestand is gevestigd en een teller aan lus door tot het einde.

Eventuele suggesties zijn welkom (een awk suggestie zou beter zijn parel)

Thanks all
  #2 (permalink)  
Old 04-25-2008
jim McNamara jim mcnamara is online now Forum Staff  
...@...
  
 

Join Date: Feb 2004
Locatie: NM
Berichten: 5.790
sed of awk zijn goede keuze - hier is sed:

Code:
for file in  `ls *.txtdatafile`
do
      sed '7,8d' $file > tmp.tmp
      mv tmp.tmp $file
done

  #3 (permalink)  
Old 04-25-2008
Vrms vrms is offline
Geregistreerde gebruiker
  
 

Join Date: april 2008
Posts: 16
Citaat:
Oorspronkelijk geplaatst door jim McNamara View Post
sed of awk zijn goede keuze - hier is sed:

Code:
for file in  `ls *.txtdatafile`
do
      sed '7,8d' $file > tmp.tmp
      mv tmp.tmp $file
done
Bedankt voor het antwoord Jim

Helaas is deze stuurt ze allemaal in een grote tmp.file. Ik moet een nieuw tekstbestand voor elk tekstbestand dat wordt in de directory.
  #4 (permalink)  
Old 04-25-2008
tijdperk era is offline Forum Advisor  
Herder van Nutteloze Cats (On Sabbatical)
  
 

Join Datum: maart 2008
Locatie: / er / is / alleen / bin / sh
Berichten: 3652
Gack, kunt u niet achteraf dezelfde vraag meerdere keren. Ik heb al een keer beantwoord.
het verwijderen van specifieke lijnen van alle bestanden in een directory

De tweede lijn in Jim's script (en mij ook) verplaatst de tmp-bestand terug in de oorspronkelijke bestand. Je kunt niet gemakkelijk omleiding weer op een bestand, omdat de omleiding gebeurt vóór awk krijgt om het te lezen, zodat het bestand eindigt zijn leeg. Er zijn verschillende manieren om het gebruik van tijdelijke bestanden, maar in dit specifieke geval is het waarschijnlijk niet de moeite waard.

De ls in backticks is een antipattern; zie Een voorbeeld van omgaan met bestandsnamen met spaties in hen voor een bespreking van de nadelen. Gewoon gebruik "voor bestand in *. txtdatafile" plaats.
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 12:53.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0