Awk
Mark Kennedy
mek at michael.udev.cdc.com
Fri Mar 8 05:32:11 AEST 1991
In article <1991Mar7.115420.21315 at daimi.aau.dk>, ezra at daimi.aau.dk (Thomas Ravnholt) writes:
|> Hello !
|>
|> I have a little question about awk (nawk).
|>
|> If I want to run a unix-command in an awk-script,
|> how do I get the output into a variable.
|>
|> I tried
|>
|> getline < system(unixcommand)
|>
|> system(unixcommand | getline)
|>
|>
|> but it is no good of course. system returns 0 or 1 and
|> not the output of the unixcommand.
|>
Crude, but effective, temporary files are your friend. Here's a
simple example that does what you ask.
#! /bin/sh
awk '
BEGIN {
system("date > /tmp/foo")
getline X < "/tmp/foo"
print X
}'
You can use the pid if you are worried about stepping on duplicate
temp file names and insert a "trap" command to delete your temp
file(s) in case your script terminates prematurely.
-Mark
--
___ ___
/ __||__ \
Mark Kennedy ( |__ __| ) AT&T: (612) 482-2787
Control Data Corporation \___||___/ E-Mail: mek at udev.cdc.com
check-ins happen
More information about the Comp.unix.programmer
mailing list