gawk执行外部自定义函数

gawk可以调用系统命令和外部脚本,但是shell脚本中的自定义函数默认无法调用,可以使用export命令实现。

#!/bin/bash
#生成随机字符串
function rand_str(){
    MATRIX="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
    while [ "${n:=1}" -le "$1" ]
    do
        PASS="$PASS${MATRIX:$(($RANDOM%${#MATRIX})):1}"
        let n+=1
    done    
    echo "$PASS" 
}

export -f rand_str;
echo 1|gawk '{system("rand_str 10")}'

 

发表评论

电子邮件地址不会被公开。

CAPTCHA

*