![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| 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 |
| awk, ignorere første x antal linjer. | trey85stang | Shell Programmering og Scripting | 8 | 05-21-2008 05:44 AM |
| Ignorer nogle poster med bestemte ord fra fil sammenligning | jakSun8 | Shell Programmering og Scripting | 2 | 03-13-2008 12:11 AM |
| Hvordan kan jeg ignorere kun de strækninger, der har # i begyndelsen? | csaha | Shell Programmering og Scripting | 1 | 01-30-2006 03:35 AM |
| Foretag sed ignorere linjer | Scarlos | Shell Programmering og Scripting | 2 | 07-21-2005 11:33 AM |
| Fjernelse duplikateksemplaret linjer ignorere sagen | hellsd | UNIX for dummyer Spørgsmål & svar | 17 | 12-02-2004 10:47 AM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
Ignorer Lines beginning with #
Er der en standard måde at gøre en shell script læse en fil, eller en liste, og springe hver linje, der indeholder # begyndelse eller ignorerer indholdet begynder efter et # i linjen?
Jeg søger at efterligne den måde, kommenterede i et shell script der normalt arbejder. På denne måde kan jeg kommentere mine tekstfiler og lister min scripts og ignorere kommentere linjer. Tak gutter. ![]() |
|
||||
|
Hvis du ønsker at gøre, kun et par ting med output, filter, du kildefilen i en rørledning: Code:
grep -v '^[[:space:]]*#' /path/to/your/file | your_commands hvis du vil gøre omfattende stuff med din kommentar-strippet fil, skal du gemme strippet fil i en temp-fil og bruge bruge temp fil for resten af proceduren: Code:
grep -v '^[[:space:]]*#' /path/to/your/file >/tmp/stripped_source Bemærk, at jeg bruger ^ [[: space:]] * i begyndelsen af det regulære udtryk fordi strækninger, der er helt kommentarer kan stadig indeholde førende whitespace. Hvis du ønsker at fjerne tomme linjer også gøre Code:
egrep -v '(^[[:space:]]*#|^[[:space:]]*$)' /path/to/file >/tmp/stripped_file Sidst redigeret af hadarot; 08-18-2005 på 09:53 PM.. |
|
||||
|
Hvis du vil have din script til at opføre sig ligesom ksh selv (se bort fra den del af en linje efter en "#", men bruger en del, før det) kan du gøre følgende (erstat "<spc>" med en bogstavelig rummet, "<fanen > "med en fane CHAR): Code:
script sed 's/#.*$/;s/^[<spc><tab>]*//;s/[<spc><tab>]*$//;/^$/d' file content of file # this is a line with comments # this too, but starting with blanks command 1 # this line contains an inline comment command 2 "#" # this too, but my script would be confused result command 1 command 2 " Desværre scriptet ikke på den anden linje, men dog sådan delikatesser det virker. bakunin |
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|