怎么设置awk的返回值然后让shell获取

2025-04-04 04:26:52
推荐回答(1个)
回答1:

.sh">cnbubble@~/test:$ cat rr.sh
#!/bin/bash
function ergodic() {
 for file in `ls $1`
  do
  if [ -d "$1/"$file ]
    then
    echo "$1/$file"
    ergodic "$1/$file"
#  else
#    echo $file
  fi
  done
}
ergodic "/home/cnbubble"
cnbubble@~/test:$ a=`awk 'BEGIN{sum=0}{sum=sum+NF}END{print sum}' rr.sh`
cnbubble@~/test:$ echo $a
30

上面例子中统计了rr.sh文件每行的字段(默认空格分割)数量,进行了累加求和。最后赋值给了Shell中的变量a

一般shell使用awk的结果通常是 将awk语句用 ` …… `括起来(键盘上Tab上面的那个键)

其他例子:

ls  `awk……`

grep `awk……`   fileName