我想声明一个名为variableToUse的变量,它保存文件名路径。
我想在文件名后面加上今天的日期。
以下代码位于myAWK.awk

$bash: cat myAWK.awk
    BEGIN{
    today="date +%Y%m%d";
    variableToUse=/MainDir/MainDir1/MainDir2/OutputFile_today.xml
    }

    /<record / { i=1 }
    i { a[i++]=$0 }
    /<\/record>/ {
        if (found) {
             print a[i] >> variableToUse
        }
    }

我在OutputFile_today.xml处收到语法错误。
如何使用变量值?

最佳答案

你应该正确地引用变量
例子

$ awk 'BEGIN{variableToUse="/MainDir/MainDir1/MainDir2/OutputFile_today.xml"; print variableToUse}'
/MainDir/MainDir1/MainDir2/OutputFile_today.xml

要获取当前日期,您可以使用strftime
例子
$ awk 'BEGIN{today="date +%Y%m%d";variableToUse="/MainDir/MainDir1/MainDir2/OutputFile_"strftime("%Y%m%d")".xml"; print variableToUse}'
/MainDir/MainDir1/MainDir2/OutputFile_20160205.xml

10-08 09:17