Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
Google Site



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

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Thread Tools Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 01-22-2009
frozensmilz's Avatar
Geregistreerde gebruiker
 

Join Date: Aug 2008
Posts: 33
Heb je hulp nodig in het script; [script om een zin de woorden & Control]

Hallo vrienden,

Ik ben op zoek naar een sed/awk / python script dat kan identificeren de positie van een karakter of woord in een bestand. Nou, geef ik de voorkeur sed. <spatie> is een tabblad ruimte voor omdat ik eigenlijk dont weet hoe het forum editor scherm een ruimte te maken als zodanig.

Voorbeeldtekst
-----------
<spatie> <spatie> <spatie> <spatie> BAA BAA
<spatie> <spatie> <spatie> 222 555 ABC
<spatie> <spatie> <spatie> <spatie> XYZ 123
<spatie> <spatie> <spatie> <spatie> BAA BAA

Ik wil manipuleren van de bovenstaande twee zinnen als volgt.

Resultaat 1 [backspace 1 (waarde uit een variabele)]
--------------------------------------------------
<spatie> <spatie> <spatie> <spatie> BAA BAA
<spatie> <spatie> <spatie> 222 555 ABC
<spatie> <spatie> <spatie> XYZ 123
<spatie> <spatie> <spatie> <spatie> BAA BAA

Resultaat 2 [space 1 (waarde uit variabele)]
---------------------------------------------
<spatie> <spatie> <spatie> <spatie> BAA BAA
<spatie> <spatie> <spatie> 222 555 ABC
<spatie> <spatie> <spatie> <spatie> <spatie> XYZ 123
<spatie> <spatie> <spatie> <spatie> BAA BAA

Uitslag 3 [XYZ kopie van lijn 2 naar lijn 1 begin]
------------------------------------------------
<spatie> <spatie> <spatie> <spatie> BAA BAA
<spatie> <spatie> <spatie> ABC 222 555 XYZ
<spatie> <spatie> <spatie> <spatie> 123
<spatie> <spatie> <spatie> <spatie> BAA BAA

Uitslag 4 [kopie 555 van lijn 1 naar lijn 2 begin]
------------------------------------------------
<spatie> <spatie> <spatie> <spatie> BAA BAA
<spatie> <spatie> <spatie> ABC 222
<spatie> <spatie> <spatie> 555 XYZ 123
<spatie> <spatie> <spatie> <spatie> BAA BAA

Kindly help me of geef me een start om dit script te bereiken. Thanks in advance.
Sponsored Links
  #2 (permalink)  
Old 01-22-2009
manas_ranjan's Avatar
Geregistreerde gebruiker
 

Join Date: juli 2007
Locatie: Amsterdam
Posts: 177
kon niet in staat om uw variabele en ruimte raadsel te begrijpen ...
  #3 (permalink)  
Old 01-22-2009
cfajohnson's Avatar
Shell programmeur, auteur
 

Join Datum: maart 2007
Plaats: Toronto, Canada
Berichten: 2.533
Citaat:
Oorspronkelijk geplaatst door frozensmilz View Post
Ik ben op zoek naar een sed/awk / python script dat kan identificeren de positie van een karakter of woord in een bestand.

Dat is eenvoudig:


Code:
FILE=${1?You must have a filename}
STR=${2?You need string to index}

_index() #@ Store position of $2 in $1 in $_INDEX
{
    case $1 in
        "")  _INDEX=0; return 1 ;;
        *"$2"*) ## extract up to beginning of the matching portion
              idx=${1%%"$2"*}
              ## the starting position is one more than the length
              _INDEX=$(( ${#idx} + 1 )) ;;
        *) _INDEX=0; return 1 ;;
    esac
}

file=$( cat "$FILE" )

_index "$file" "$STR"

printf 'The position of "%s" is %d\n' "$STR" "$_INDEX"

Citaat:
Nou, geef ik de voorkeur sed.

Waarom sed? Het is niet veel gebruikt als een programmeertaal; awk kunnen veel meer doen en op een meer leesbare manier.
Citaat:
<spatie> is een tabblad ruimte

Wat is een "tab ruimte"? Bedoel je een tab?
Citaat:
aangezien ik eigenlijk dont weet hoe het forum editor scherm een ruimte te maken als zodanig.

Gebruik een spatie. Zet letterlijke tekst in [code] tags, zodat een monospace lettertype wordt gebruikt in een <PRE> element.
Citaat:

Voorbeeldtekst
-----------
<spatie> <spatie> <spatie> <spatie> BAA BAA
<spatie> <spatie> <spatie> 222 555 ABC
<spatie> <spatie> <spatie> <spatie> XYZ 123
<spatie> <spatie> <spatie> <spatie> BAA BAA

That's:


Code:
    BAA BAA
   ABC 222 555
    XYZ  123
    BAA BAA

Of is het?
Citaat:

Ik wil manipuleren van de bovenstaande twee zinnen als volgt.

Resultaat 1 [backspace 1 (waarde uit een variabele)]
--------------------------------------------------
<spatie> <spatie> <spatie> <spatie> BAA BAA
<spatie> <spatie> <spatie> 222 555 ABC
<spatie> <spatie> <spatie> XYZ 123
<spatie> <spatie> <spatie> <spatie> BAA BAA

Wat heb je gedaan om dat resultaat te krijgen? Beschrijf het proces.

Doe hetzelfde voor je andere resultaten.
  #4 (permalink)  
Old 01-22-2009
frozensmilz's Avatar
Geregistreerde gebruiker
 

Join Date: Aug 2008
Posts: 33
Heb je hulp nodig in het script; [script / s te beheersen een zin en de woorden]

Hallo vrienden,

Hartelijk dank voor de steun. Sorry voor de verwarring.

Uitleg over de situatie met een monster zaak

Input is een voorbeeld tekst met een blok als volgt

HTML-code:
            10          20          30           40
1           *            *            *            *           50 Columns- just assume 

1             statements .......                             
2                          if ( condition 
3                          ) 
4                         { 
5                                           Statement 1;
6                              Statement 2;
7                                           Statement 3;
8            }
9  statements ..............
10

            10          20          30           40
1           *            *            *            *           50 Columns- just assume 
Ik wil graag het volgende te doen met de hulp van een script

1. Breng de Sluitaccolade van de if-statement van LINE 3 tot en met tot het einde van LINE 2
als volgt

HTML-code:
            10          20          30           40
1           *            *            *            *           50 Columns- just assume 

1             statements .......                             
2                             if ( condition )
3                                 
            10          20          30           40
1           *            *            *            *           50 Columns- just assume 
2. In lijn 7 gaan de sluiting van de brace als blok van kolom 10 wil zeggen kolom 20 als volgt (bijgewerkt regelnummers sinds de laatste operatie verwijderde een lijn) dat men "als" & "(" gaat uit van dezelfde kolom.

HTML-code:
            10          20          30           40
1           *            *            *            *           50 Columns- just assume 

5                              Statement 2;
6                                           Statement 3;
7                          }
8  statements ..............
            10          20          30           40
1           *            *            *            *           50 Columns- just assume 
3. In LINE 3 zet de opening van de brace als blok van zeg kolom 20 tot en met einde van de LINE 2 als volgt. (Merk op dat de verklaringen hieronder moet omhoog bewegen als de LINE 3 & 4 heb verwijderd.)

HTML-code:
            10          20          30           40
1           *            *            *            *           50 Columns- just assume 

1             statements .......                             
2                          if ( condition ) {
3                                          Statement 1;

            10          20          30           40
1           *            *            *            *           50 Columns- just assume 
4. Van 3 tot LINE LINE 7. De Verklaring 1 & Verklaring 3 moet passen volgens positie (laten we zeggen, kolom 23) van Statement 2 als volgt. En voeg een nieuwe regel na Verklaring 3 & vóór Statement 1.

HTML-code:
            10          20          30           40
1           *            *            *            *           50 Columns- just assume 
3
4                              Statement 1;
5                              Statement 2;
6                              Statement 3;
7
            10          20          30           40
1           *            *            *            *           50 Columns- just assume 
Na al het bovenstaande operatie de definitieve blok moet er zo uitzien (goed uitgelijnd & regelafstand)

HTML-code:
            10          20          30           40
1           *            *            *            *           50 Columns- just assume 

1             statements .......                             
2                          if ( condition ) { 
3
4                              Statement 1;
5                              Statement 2;
6                              Statement 3;
7
8                          }
9  statements ..............
10

            10          20          30           40
1           *            *            *            *           50 Columns- just assume 
Ik heb een script dat alleen is niet bedoeld voor een als lus maar voor elke situatie die is waarom ik gebruikte monsters bevatten AAA, BAA.

<spatie> betekende tabblad ruimte, ik ben een beginner en heb comfortabel met sed & Awk ... Nou, ik ben klaar om sleutels aan de nieuwe deuren hebben .. dus neem elke nieuwe of betere methoden om het probleem op te lossen.

Samenvatting
Indien mogelijk zal het leuk zijn als ik een script kan krijgen, kan dat het volgende te doen. zodat ik kan een begin.

1. vindt de positie van het eerste woord in een lijn.
> bijvoorbeeld het script moeten kunnen zeggen mij naar de positie van A in A11 BBB CC1
2. vindt de positie van het laatste woord in een lijn (de berekening van 1e karakter positie van het eerste woord van een lijn)
> Bijvoorbeeld het script moeten kunnen zeggen mij naar de positie van de '2 'in B11 DDD ZZ2 (berekening laatste teken positie van het laatste woord van een lijn)
3. Een script dat kan bewegen elk woord zeggen B11 om een positie na CC1 (lijn naar lijn beweging)
4. Een script dat kan bewegen elk woord zeggen RRR zodanig zijn dat de A11 & RRR uit moet gaan van dezelfde kolom (kolom naar kolom beweging)
HTML-code:
Before
                     A11 BBB CC1
                           B11 DDD ZZ2
              RRR FFF

After
                     A11 BBB CC1 B11
                           DDD ZZ2
                     RRR FFF
In afwachting voor ondersteuning. Bedankt

Laatst bewerkt door frozensmilz; op 01.22.2009 10:12 PM..
Sponsored Links
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 Uit


Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
Script voor woorden trekken van 4 naar 7 karakters van een bestand Azeus Programmeren en Shell Scripting 2 12-07-2008 02:56 PM
script omzetten van woorden in links kazordoon Programmeren en Shell Scripting 9 08-03-2008 12:33
Script om alle bestanden die een van de woorden in een ander bestand tsanthosh Programmeren en Shell Scripting 4 05-21-2008 03:29
Bash script pas zin voor het blok katrvu Programmeren en Shell Scripting 6 02-11-2008 11:04
Hoe vindt u hoofdletter namen in een bestand zonder dat woorden aan het begin van de zin kev269 Programmeren en Shell Scripting 1 04-10-2006 10:35 PM



Alle tijden zijn GMT -4. Het is nu 09:27 PM.


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-2010. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0