QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1932|回复: 4

求助:awk与shell之间变量通信问题

[复制链接]
发表于 2006-7-6 08:42:49 | 显示全部楼层 |阅读模式
使用awk对一个文本文件进行处理,处理结果想输出变量为shell所用
但是我发现使用system函数的话,并不继承awk里面的变量
awk只能输出到屏幕或者文件,难道不能输出为变量?
ps:使用管道也不行
有知道的指点一下,十分感谢!
发表于 2006-7-6 13:01:15 | 显示全部楼层
你用c语言吗?  那你得这样
getenv(取得环境变量内容)
putenv(改变或增加环境变量)
setenv(改变或增加环境变量)
回复

使用道具 举报

 楼主| 发表于 2006-7-6 19:05:38 | 显示全部楼层
谢谢楼上的
我在shell中使用了如下形式:
$xx=awk xxx
这样,awk的运行结果就可以为shell所用了
回复

使用道具 举报

发表于 2006-7-12 09:30:40 | 显示全部楼层
#!/bin/sh

var=`ls -l $Path_t$Filename_t |awk '{print $5}'`
$var----就可以在shell中使用了
记得要有`***`引号
这是键盘左上角的号......................
回复

使用道具 举报

 楼主| 发表于 2006-7-12 09:45:19 | 显示全部楼层
谢谢楼上的

但是我想在 var=`ls -l $Path_t$Filename_t | awk '{print $5}'`中可以省略前面的ls命令吧,因为awk后面可以直接跟文件名,而不需要ls将文件内容通过管道输入的,我就是这样把awk的输出结果直接送到了shell中的,一点问题都没有!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-18 05:08 , Processed in 0.038983 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表