The UNIX and Linux Forums  

Go Back   A UNIX és Linux Forums > Top Fórumok > Shell programozás és Scripting
.
google unix.com



Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt.

Több, UNIX és Linux fórum témák Ön által talált Hasznos
Szál Thread Starter Fórum Válaszok Utolsó hozzászólás
Segítségre van szüksége a sed parancs (egy üres sor btw minden blokk által minta) frozensmilz Shell programozás és Scripting 2 01-08-2009 12:12 AM
teszi több vonal, amely a minta egyetlen sor VTAWKVT Shell programozás és Scripting 13 12-04-2008 06:40 PM
Hozzászólás / törölje az adott minta kiindulási a második sorban az illesztési minta imas Shell programozás és Scripting 4 10-13-2008 03:37 AM
Nyomdai ki mintázatot sor FK_Daemon Shell programozás és Scripting 3 11-23-2007 04:27 PM
sed - Cseréljen vonal, amely a minta egyezik egy új sor kousikan Shell programozás és Scripting 2 03-24-2007 07:24 AM

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 01-05-2009
frozensmilz's Avatar
frozensmilz frozensmilz is offline
Regisztrált felhasználó
  
 

Join Date: Aug 2008
Hozzászólások: 28
Segítségre van szüksége a sed parancs [nyomtatás mintát + vonalmegosztási nem vagy nem kizárólag online]

Hello friends,

Csak a közelmúltban kezdtem tanulás sed ... egy parancs azt tapasztaltam, hogy sed gyorsabb megtalálni a szokások, mint az én szkriptet amit használ grep, hogy ellenőrizze a talp belsejében egy fájlt sorról sorra keresési módszer az, ami időigényes.

Az alábbi szkript "strMatch" az egyikük, amit használni lehet keresni egy mintát. Miután a minta megtalálható ez akarat bemutatás a minta és a sor számát, vagy a sor számát, csak az alábbiak szerint.

> Bemeneti
strMatch Sample.cpp "minta STRING"
> Output
5: MINTA STRING

> Bemeneti
strMatch Sample.cpp "minta STRING" 2
> Output
5

Sok más szkript én kezdte el használni ezt a szkriptet, és a függőség, hogy ez a forgatókönyv csaknem olyan bonyolult volt, hogy az új scripteket használó strMatch közvetlenül vagy közvetve Különböző célokra lassú a végrehajtás. Vettem észre, hogy a következő sed paranccsal lehet a csípés strMatch, hogy növelje a keresési sebesség ...

sed "/ Mintás STRING / p 'Sample.cpp

De én ahhoz, hogy teljes a sor számát is, mint az én előző strMatch .... Van-e bármilyen módon nyomtatni a kimenetet, mint az alábbi

Kimenet 1 [Line száma & minta]
5 mintás STRING

Kimenet 2 [Line száma, ahol mintát találtak]
5

Mert az én szkriptet használja csak ezek a sorok számát ..... Kedvesen segíteni abban, hogy strMatch script gyors .... a strMatch célja az, hogy keressen egy mintát, és visszaküldi a minta helye vagy a minta mellett a hely ..... Az alábbiakban a tényleges strMatch kézírás ...

van egy speciális helyzet kezelésére "magában" kulcsszó ..... nem vagyok képes megtalálni az olyan alternatív "exec" parancs át kell adni a fájl tartalma változó, mint olyan (a megfelelő összehangolás és )..... valahogy valahányszor keressük közé kulcsszó ... majd futtatni az összes a mappában található fájlokat ....... azt hiszem a sed parancs én szokás lehet szükség "exec",

Thanks in advance ...........
-------------------------------------------------- -----------------------

filter () (
minta \u003d $ 1
line \u003d $ 2
for x in $ line; do
flag \u003d `echo $ x | grep-c $ pattern"

if [$ flag-eq 1], majd
return $ flag
vagy
return 0
fi
kész
)

# filterKeywords () (

#)


pattern \u003d $ 2
exec <1 $
# fileCont \u003d `rdfil $ 1`
linCnt \u003d 1

exitCnt \u003d `lincnt $ 1`
cnt \u003d 0
count \u003d 0
mode \u003d $ 3
rdfil # $ 1
míg a sorban olvasni, nem

if [ "$ 2" \u003d\u003d "magában"], majd
quitCon \u003d `echo $ line | grep-c "//-------------------------"`
if [$ quitCon-eq 1], majd
gróf \u003d$(($ count + 1))
if [$ count-eq 2], majd
törés
fi
fi
fi

status \u003d `echo $ sor | grep-c" $ 2 ""
if [$ status-eq 1], majd
fflag filter \u003d `$ pattern $ line"
wcnt \u003d `echo $ fflag | wc-l`
if [$ wcnt \u003d\u003d 1], majd
if [$ exitCnt-ge $ cnt], majd
if [ "$ mode"! \u003d "2"], majd
case $ mód
: "NUM") # LINE NUMBER
echo $ linCnt
;

"FON") # első előfordulása LINE NUMBER
echo $ linCnt
exit
;

: "FOLN") # első előfordulása LINE
echo $ sor
exit
;

"Ln") # Csak LINES
echo $ sor
;

*) # DEFAULT
echo $ linCnt: $ line
;
esac
# echo "Hi"
vagy
echo $ linCnt
fi
# $ line filterKeywords
fi
fi
fi
linCnt \u003d$(($ linCnt + 1))

cnt \u003d$(($ cnt + 1))
"---------------------------------------$ # echo $ cnt exitCnt "
kész

# echo "Viszlát!"
  #2 (permalink)  
Old 01-05-2009
Franklin52 Franklin52 is offline Forum Staff  
Moderátor
  
 

Join Date: Feb 2007
Hozzászólások: 4.342
Próbálta már grep? Ez adja meg a száma, a pálya és a vonal által határolt kettőspont:


Kód:
grep -n <pattern> <file>

Ahhoz, hogy a szám akkor valami ehhez hasonlót::


Kód:
grep -n <pattern> <file>| cut -d: -f1

Ellenőrizze a man oldalt a grep és vágott a használt beállításokat.

Üdvözlettel
  #3 (permalink)  
Old 04-29-2009
shivarajM shivarajM is offline
Regisztrált felhasználó
  
 

Join Date: Apr 2009
Hozzászólások: 12
Arrow Én csak az első megjelenése a minta?

Idézet:
Originally Posted by Franklin52 View Post
Próbálta már grep? Ez adja meg a száma, a pálya és a vonal által határolt kettőspont:


Kód:
grep -n <pattern> <file>

Ahhoz, hogy a szám akkor valami ehhez hasonlót::


Kód:
grep -n <pattern> <file>| cut -d: -f1

Ellenőrizze a man oldalt a grep és vágott a használt beállításokat.

Üdvözlettel
Én csak az első megjelenése a kiegyenlített minta?

help me ......
  #4 (permalink)  
Old 04-29-2009
Franklin52 Franklin52 is offline Forum Staff  
Moderátor
  
 

Join Date: Feb 2007
Hozzászólások: 4.342
Idézet:
Originally Posted by shivarajM View Post
Én csak az első megjelenése a kiegyenlített minta?

help me ......
Ön próbálta a -m lehetőség grep?
  #5 (permalink)  
Old 06-28-2009
shils shils is offline
Regisztrált felhasználó
  
 

Join Date: Jun 2009
Hozzászólások: 1
get sorszám segítségével sed parancs

Szia,

Ha a fájl, mint alább látható, legyen szíves hadd tudjam meg, ha a parancs jogot kap a hasonló számot tartalmazó string - Földünk a "\u003d" jelet.

Fájlnév: example.txt
123 | Föld | 2009

sed '/ Earth /
(
\u003d
) 'Example.txt
Reply

Könyvjelzõk

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 01:10 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0