Linux 将多个结果从AWK保存到shell变量

Linux 将多个结果从AWK保存到shell变量,linux,shell,awk,csh,Linux,Shell,Awk,Csh,将AWK脚本中的多个结果保存到c shell变量 我在终端中运行了一个简单的AWK脚本,从输入文本文件中查找max和min 如何将这个max和min值保存到c shell变量中,以便以后使用 这是AWK awk 'NR == 1 { xmax=$1; xmin=$1 } \ { if ($1>xmax) xmax=$1; if ($1<xmin) xmin=$1;} \ END {printf "X-Min: %d\tX-Max: %d\n", xmin, xmax}

将AWK脚本中的多个结果保存到c shell变量

我在终端中运行了一个简单的AWK脚本,从输入文本文件中查找max和min

如何将这个max和min值保存到c shell变量中,以便以后使用

这是AWK

awk 'NR == 1 { xmax=$1; xmin=$1 } \
    { if ($1>xmax) xmax=$1; if ($1<xmin) xmin=$1;} \
    END {printf "X-Min: %d\tX-Max: %d\n", xmin, xmax}' $inpfile
awk'NR==1{xmax=$1;xmin=$1}\

{if($1>xmax)xmax=$1;if($1)正如其他人所说,您不能将值从awk传递到shell

您需要依赖shell的功能来执行cmd替换

当我只有csh的时候,我会这么做的

setenv xmin_xmax = `awk 'NR == 1 { xmax=$1; xmin=$1 } \
{ if ($1>xmax) xmax=$1; if ($1<xmin) xmin=$1; printf("%d|%d\n", xmin, xmax}' $inpfile`

setenv xmin = `echo "$xmin_xmax" | sed 's/|.*$//'`
setenv xmax = `echo "$xmin_xmax" | sed 's/*.|//'`
setenv xmin_xmax=`awk'NR==1{xmax=$1;xmin=$1}\

{if($1>xmax)xmax=$1;if($1)你说的是“c shell”,但将问题标记为
bash
。您指的是哪个shell?很抱歉,它的c shell刚刚删除了bash标记。请从awk打印它们,从csh解析。@KarolyHorvath:正如我所说,我没有csh的经验,所以问题是,从csh解析它是什么意思。请检查有问题的更新代码。Thanks@Indigo对不起,我不在家但是这个想法是:把一个像
25
o
2,5
这样的文本解析成两个变量。我发现了一个成功的例子:我确信这有很多链接,因为这是一个常见的任务