The UNIX and Linux Forums  


Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Sök en lista med rader i filen till filer sriram003 UNIX för avancerade & Expertanvändare 2 05-20-2008 08:23
ta bort vissa rader från alla filer i en katalog Vrms UNIX for Dummies Frågor & Svar 3 04-25-2008 12:08
ta bort rader från flera textfiler Vrms Shell-programmering och Skript 3 04-25-2008 12:01
Radera Lines från. CSV filer 009satya Shell-programmering och Skript 1 11-13-2006 03:30
PHP generera begränsad mängd rader från en fil pondlife Shell-programmering och Skript 1 10-26-2005 12:44

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 Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 04-14-2006
benair benair is offline
Registered User
  
 

Join Date: april 2006
Inlägg: 3
radera en varierande mängd linjer från en lista med filer

Jag gjorde söka tjänsterna för info om detta och även om det var några i Ballpark, riktar ingen detta specifikt. (även jag försökt skicka denna gång det sa jag loggades ut, så förhoppningsvis jag inte skicka en kopia här).

Jag har en uppsättning filer (250 + / -) där jag måste ta bort den första "$ x" antal rader och produktion vad som återstår till en ny fil (eller katt alla resultaten i en fil)

Hittills har jag kunnat pussla ihop så här mycket:

cat-n index20a6.html index3e43.html index6a84.html (... och så vidare) | grep
"<TITLE> § 440." | Awk '(print $ 1)'

det resulterar i detta:

973
1722
2219
...

"<TITLE> § 440." är på en annan linje i varje fil så mängden linjen att radera kommer att variera.

Den saknade pusselbiten är att stryka '1, 973d "'1, 1722d ''1, 2219d" eftersom det går igenom och skapa en ny fil.

(även om jag kan gå igenom denna lista rekursivt snarare än en lista över alla filer på mitt kommando, som skulle vara en bonus!)

Tack för alla få hjälp med den här!
  #2 (permalänk)  
Old 04-14-2006
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Ort: Ashburn, Virginia
Inlägg: 9.131
Prova:
Kod:
#! /usr/bin/ksh
cd /the/directory
exec > onebigoutputfile
find . -name index\*.html | while read fname ; do
           sed '1,/<TITLE> Section 440./d' < $fname
done
exit 0

  #3 (permalänk)  
Old 04-14-2006
benair benair is offline
Registered User
  
 

Join Date: april 2006
Inlägg: 3
Först, Tack för svaret!

Som resulterar i bara en lista med filnamn som visas i "onebigoutputfile"

./index018e.html
./index0271.html
./index031c.html
./index03bb.html
./index03fe.html
./index04b3.html
...

Jag kommer att fortsätta att arbeta med det.
  #4 (permalänk)  
Old 04-14-2006
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Ort: Ashburn, Virginia
Inlägg: 9.131
Testas ....
Kod:
$ cat script
#! /usr/bin/ksh
#cd /the/directory
#exec > onebigoutputfile
find . -name index\*.html | while read fname ; do
           sed '1,/<TITLE> Section 440./d' < $fname
done
exit 0
$
$
$
$ cat index1.html
hhhh
kkkkk
hhhh <TITLE> Section 440.
jjjjj 5
jjjjjj8
jjjj6
iiii9
$
$
$
$
$
$ ./script
jjjjj 5
jjjjjj8
jjjj6
iiii9
$

Jag kommenterade ut cd och exec för enkel testning. Det enda sättet ditt resultat är meningsfullt är om alla dina filer innehåller en enda rad efter "seection 440" linje och det enda rad är bara filnamnet. Jag antar att du kan klippa och klistra korrekt, så då slår mig ...
  #5 (permalänk)  
Old 04-14-2006
benair benair is offline
Registered User
  
 

Join Date: april 2006
Inlägg: 3
Jag kontrolleras på nytt och original klippa och klistra var direkt från vad jag körde tidigare. Självklart, jag är inget proffs när det gäller att arbeta in the Shell, så får jag väl fortsätta att jobba med det du postat och se var jag är vilse.

Tack för att du tog dig tid att hjälpa till med detta.
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 10:43.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0