[LUGOS] sed ukazna vrstica

igor kolar ike.lugos at gmail.com
Thu Jul 7 22:55:43 CEST 2005


On 7/5/05, Ales Ales <ales.lugos at gmail.com> wrote:
> Pozdravljeni,
> ali morda kdo ve kako bi uspel dobiti iz tegale:
 
> RMAN-06392:         BP Key: 9370   Status: AVAILABLE  Compressed: NO  Tag: TAG20
> 050413T194140
> RMAN-06355:         Handle: baza1_555537061_4_1   Media:
> RMAN-06335:   List of Datafiles in backup set 9365
> 
> tole v ukazno vrstico:
> 
> change backuppiece 'baza1_555537061_4_1' delete;

Še rešitev z čistim sed-om:

$ sed -n -e '/RMAN-06355/s/.*Handle: \([^ ]*\).*/change
backuppiece\'\1\' delete;/p' FILE

Ali:
- beri vrstico za vrstico
- poišči tisto, ki vsebuje "RMAN-06355"
- na njej izvedi ukaz substitute, in sicer:
  - prebij se do - .* - in čez besedo "Handle: "
  - ujemi naslednjo besedo \(\). [^ ]* pomeni katerikoli znak, razen
space-a. Oklepaji pomenijo, da ujami besedo v spremenjljivko \1
  - prebij se do konca niza - .*
- nato zamenjaj vse to z "bla"\1"bla"
- in izpiši vrstico
- in ker je sed poklican z -n, ne izpiši nobene druge vrstice, tj.
nobene, za katero ni izrecno dan ukaz /p = print

-i


More information about the lugos-list mailing list