Go Back   A UNIX és Linux Forums > Top Fórumok > Shell programozás és Scripting
.
Google Site



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.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 01-10-2008
Regisztrált felhasználó
 

Join Date: Dec 2007
Hozzászólások: 57
külső funkcióját awk

Hi all, van egy alapvető kétség. Van bármilyen módon használni a külső
funkciók (azaz a függvények nem határozza meg az AWK), a AWK.

Nekem van egy shell scriptet, amely vagyok segítségével AWK részlet. Ebben
töredék Hívom függvényében határozza meg a shell script. De az AWK
részlet nem működik. Rájöttem, hogy ez a probléma az volt, hogy a használat miatti
A külső funkció AWK.

Van mód arra, hogy oldja meg ezt mondja meg hogyan én tud csinálni.

Please Help!
Sponsored Links
  #2 (permalink)  
Old 01-10-2008
Moderátor
 

Join Date: Feb 2007
Helyszín: Hollandia
Hozzászólások: 4.942
Awk is támogatja a felhasználó által meghatározott feladatokat, kéne olvasni néhány awk kézikönyveket.

Üdvözlettel
  #3 (permalink)  
Old 01-10-2008
Regisztrált felhasználó
 

Join Date: Dec 2007
Hozzászólások: 57
awk nincs héj, lehet-e hívni a funkció segítségével a hívó rendszer ()
function?

üdvözlettel
  #4 (permalink)  
Old 01-10-2008
fpmurphy's Avatar
Moderátor
 

Join Date: Dec 2003
Helyszín: Florida
Hozzászólások: 2.101
Hívhatsz shell szkriptek segítségével awk awk rendszer működését. rendszer (kifejezés) a / bin / sh-hoz kivégez kifejezés, és visszatér a kilépési kód.

Te nem hívhatjuk egyéni használt shell által definiált függvények ezzel a módszerrel (általános esetben, ha valaki tudna nekem bizonyítani rossz.) Valaki tehetne a felhasználó által definiált shell funkció külön script és hívja, hogy a script segítségével awk rendszer működjön.
  #5 (permalink)  
Old 01-10-2008
drl's Avatar
DRL drl is offline Forum Advisor  
Regisztrált felhasználó
 

Join Date: Apr 2007
Hely: Saint-Paul, MN USA / BSD, CentOS, Debian, OS X, Solaris
Hozzászólások: 775
Szia.

Itt van egy szkript, amely megpróbálja különböző módszerek hívás funkciók:

Kód:
#!/usr/bin/env sh

# @(#) s1       Demonstrate functions with awk.

#  ____
# /
# |   Infrastructure BEGIN

set -o nounset
echo

debug=":"
debug="echo"

## The shebang using "env" line is designed for portability. For
#  higher security, use:
#
#  #!/bin/sh -

## Use local command version for the commands in this demonstration.

echo "(Versions displayed with local utility \"version\")"
version >/dev/null 2>&1 && version bash awk

my_shell_local()
{
  echo " Local function $FUNCNAME called."
}

kamel_seg()
{
  echo " Function $FUNCNAME called with arguments \"$*\"."
}

echo
echo " Function is exported to sub-shells:"
export -f kamel_seg
typeset -F

# |   Infrastructure END
# \
#  ---

echo
echo " Calling shell function from shell:"
kamel_seg hello

echo
echo " Calling shell function from awk:"
awk '
BEGIN { print " In awk" ; kamel_seg }
'

echo
echo " Calling shell function from awk system() call:"
awk '
BEGIN { print "In awk - system" ;
 system(" echo Hi from system call" ) ; system( "kamel_seg from awk" ) }
'

echo
echo " Calling awk function:"
awk '
function my_function( message )
{
  print " awk function my_function called, argument:" message
}
BEGIN { print " Calling my_function from BEGIN block."
 my_function( " Hello there." )
}
'

echo
echo " Calling awk program that calls a shell script with system():"
awk '
BEGIN { print " Calling helper." ; system( "./helper" ) }
'

exit 0

Előállítása:

Kód:
% ./s1

(Versions displayed with local utility "version")
GNU bash 2.05b.0
GNU Awk 3.1.4

 Function is exported to sub-shells:
declare -fx kamel_seg
declare -f my_shell_local

 Calling shell function from shell:
 Function kamel_seg called with arguments "hello".

 Calling shell function from awk:
 In awk

 Calling shell function from awk system() call:
In awk - system
Hi from system call
 Function kamel_seg called with arguments "from awk".

 Calling awk function:
 Calling my_function from BEGIN block.
 awk function my_function called, argument: Hello there.

 Calling awk program that calls a shell script with system():
 Calling helper.
 Script "helper" called.
 awk script called from shell script helper

A többi pont között, ez azt mutatja, hogy shell funkciók lehet meg kell hívni, awk system (), feltéve, hogy a shell funkciók exportált (őszintén, én nem számítottam, én csak próbáltam kimeríteni az összes lehetőséget).

A rövid Kijelentem, kimenet mutatja a különbséget a helyi és exportált funkcióit.

Best wishes ... cheers, DRL
  #6 (permalink)  
Old 01-10-2008
Klashxx's Avatar
Klashxx Klashxx is offline Forum Advisor  
HP-UX/Linux/Oracle
 

Join Date: Feb 2006
Helyszín: Almería, Spanyolország
Hozzászólások: 397
Excellent post DRL. THX -
Sponsored Links
Closed Thread

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 Ki


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
Elhaladunk a globális változó a funkciót, amelyet az úgynevezett másik funkció SARS Shell programozás és Scripting 4 06-30-2008 12:39 PM
Külső HDD, mint archive0 V4Friend A UNIX a fejlett és szakértői Felhasználók 3 06-09-2008 09:23 AM
Külső USB otterit Solaris 2 05-02-2005 11:22 AM
Külső comands C-ben? merlin Programozás 2 01-08-2003 01:15 AM



Minden idő GMT -4. Az idő most 03:51 PM.


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 Content Copyright © 1993-2010. All Rights Management by Reserved.Ad RedTyger

Content Relevant URLs by vBSEO 3.2.0