The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Behovet for at serach, hvis en ny linje karakter findes på den sidste linje i en fil sunilbm78 UNIX for dummyer Spørgsmål & svar 10 02-29-2008 02:15 PM
batch slette ved hjælp finde filer med # karakter tphyahoo UNIX for dummyer Spørgsmål & svar 0 05-30-2006 12:05 PM
Finde filer, som indeholder en null karakter Bab00shka UNIX for dummyer Spørgsmål & svar 5 12-16-2005 10:41 AM
slette en linje, baseret på første tegn på den linje, borncrazy UNIX for dummyer Spørgsmål & svar 2 12-06-2005 03:27 PM
slutningen af den linje, karakter zomboo Shell Programmering og Scripting 5 12-30-2004 05:30 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 Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 01-24-2008
dbsurf dbsurf is offline
Registreret Bruger
  
 

Join Date: Jan 2008
Stillinger: 23
behovet for at finde sidste tegn i hver linje i alle filer

Hej,

Jeg har brug for at læse hver linje i alle filer. Hvis sidste tegn i hver linje er det ikke; (semikolon) så er jeg nødt til at tilføje næste linje also.Here hver linje kan består af flere semikolon (. men jeg har brug for at læse blot sidste character.I behovet for at opnå dette ved hjælp af tankens script.And jeg nødt til at fjerne tht sidste semikolon also.I nødt til at nå dette mål i alle filer i en mappe, og jeg er nødt til at omdirigere ændrede filer til det samme bibliotek.
Hvordan man kan opnå dette?

For eksempel min fil består af
asdfgh; adffg; afdfg;
adfsffvfgggg;
aedfdsfs
fsff;

Her har jeg brug for output som
asdfgh; adffg; afdfg
adfsffvfgggg
aedfdsfs fsff

Hvordan man kan opnå dette?
  #2 (permalink)  
Old 01-24-2008
Yogesh Sawant's Avatar
Yogesh Sawant Yogesh Sawant is offline Forum Staff  
Part Time Redaktør og Full Time Dad
  
 

Join Date: Sep 2006
Beliggenhed: Rossem, Tazenda
Indlæg: 1.086
hvis du har GNU sed:
Code:
sed -i 's/;$//' file*
eller ved hjælp af Perl:
Code:
perl -pi -e 's/;$//' file*
  #3 (permalink)  
Old 01-24-2008
dbsurf dbsurf is offline
Registreret Bruger
  
 

Join Date: Jan 2008
Stillinger: 23
Hej,

Hvis der ikke er semikolon dens ikke tilføje næste linje med de nuværende line.And også dens ikke i orden, hvis min fil indeholder rør linje tegn som '|'.

For eksempel, hvis filen indeholder

bruger | finde | ghjk | gg |;
sufgh | fghj | hgj
Dhj | HJK | jkl;
dens ikke fjerne semikolon
og dens ikke tilføjende 3red linje til 2. linje
  #4 (permalink)  
Old 01-24-2008
kvintet quintet is offline
Registreret Bruger
  
 

Join Date: Jun 2006
Stillinger: 94
Prøv dette

sed -e: a-e'/;$/! N; s / \ n / /; ta '-e' s /;$//' fil
  #5 (permalink)  
Old 01-24-2008
radoulov's Avatar
radoulov radoulov is online now Forum Staff  
narkoman
  
 

Join Date: Jan 2007
Beliggenhed: Варна, България / Milano, Italia
Stillinger: 2856
Code:
awk 'ORS=/;$/?RS:FS{sub(/;$/,"")}1' filename
Brug nawk eller / usr/xpg4/bin/awk på Solaris.
  #6 (permalink)  
Old 01-24-2008
radoulov's Avatar
radoulov radoulov is online now Forum Staff  
narkoman
  
 

Join Date: Jan 2007
Beliggenhed: Варна, България / Milano, Italia
Stillinger: 2856
For så vidt angår hele opgaven er bekymret:

Code:
awk 'FNR == 1 {
  system("[ -f \""fnt"\" ]&&mv "fnt" "fn)
  fn = FILENAME
  fnt = FILENAME"__"++c
}
ORS = /;$/ ? RS : FS {
  sub(/;$/,"")
  print > fnt
} END {
  system("[ -f \""fnt"\" ]&&mv "fnt" "fn)
}' filenames*
Brug nawk eller / usr/xpg4/bin/awk på Solaris.
  #7 (permalink)  
Old 01-24-2008
dbsurf dbsurf is offline
Registreret Bruger
  
 

Join Date: Jan 2008
Stillinger: 23
Hi kvintet

bruge denne sed -e: a-e'/;$/! N s / \ n / /; ta '-e' s /;$//' fil sin ikke omdirigere til min mappe igen
Closed Thread

Bogmærker

Tags
perl, sed

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 05:58 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0