The UNIX and Linux Forums  


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
Slet en del af en linje ved hjælp af shell-scripting Loy81 Shell Programmering og Scripting 3 08-25-2008 02:54 PM
Udskæring en del af en linje adskilt af pipe afgrænsningstegn ragavhere UNIX for dummyer Spørgsmål & svar 3 06-21-2008 01:29 PM
awk-program til at vælge en del af en linje anju Shell Programmering og Scripting 3 01-11-2008 06:33 AM
sletning del af linje med sed (kun én gang) gammaman UNIX for dummyer Spørgsmål & svar 1 07-14-2005 09:40 PM
sletning del af linje med sed gammaman UNIX for dummyer Spørgsmål & svar 5 07-10-2005 11:47 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 10-10-2008
vanand420 vanand420 is offline
Registreret Bruger
  
 

Join Date: Jul 2005
Stillinger: 60
Udskriv en del af en linje

Hej,
Jeg vender et lille problem ...
Jeg har en linje som denne:
asdcvashfasashXXXXxxxzxcadd:sdcashjqdasdsmgdkdaxdsnd;
Jeg vil udskrive bare en del af linje dvs. fra venstre 5 tegn fra ":" og op ";", dvs i dette tilfælde ville det være
"xcadd: sdcashjqdasdsmgdkdaxdsnd;"
Længden af retten mest strengen kan variere, men slutter med "."
Også, hvad de skal gøre, hvis jeg ønsker at udskrive blot 5 tegn til venstre for at ";"

Thanks in advance.
  #2 (permalink)  
Old 10-10-2008
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Beliggenhed: NM
Indlæg: 5.800

Code:
echo "$mylineoftext" | awk '{ print substr($0, index($0, ":") ) }'  # question 1
echo "$mylineoftext" | awk '{ print substr($0, length($0) -5 ) }'  # question #2

  #3 (permalink)  
Old 10-10-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmør, forfatter
  
 

Join Date: Mar 2007
Beliggenhed: Toronto, Canada
Indlæg: 2.372
Citat:
Oprindeligt Indsendt af vanand420 View Post
Hej,
Jeg vender et lille problem ...
Jeg har en linje som denne:
asdcvashfasashXXXXxxxzxcadd:sdcashjqdasdsmgdkdaxdsnd;
Jeg vil udskrive bare en del af linje dvs. fra venstre 5 tegn fra ":" og op ";", dvs i dette tilfælde ville det være
"xcadd: sdcashjqdasdsmgdkdaxdsnd;"
Længden af retten mest strengen kan variere, men slutter med "."

Brug shell parameter ekspansion, og der er ingen grund til at spilde tid og CPU-cyklusser med eksterne kommandoer.


Code:
line="asdcvashfasashXXXXxxxzxcadd:sdcashjqdasdsmgdkdaxdsnd;"
temp=${line%?????:*}
printf "%s\n" "${line#"$temp"}"

Citat:
Også, hvad de skal gøre, hvis jeg ønsker at udskrive blot 5 tegn til venstre for at ";"


Code:
line="asdcvashfasashXXXXxxxzxcadd:sdcashjqdasdsmgdkdaxdsnd;"
temp=${line%??????*}
temp=${line#"$temp"}
printf "%s\n" "${temp%;}"

Closed Thread

Bogmærker

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:34 AM.


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