Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将日期格式包含到bash中的另一个变量中_Bash_Variables_Syntax - Fatal编程技术网

将日期格式包含到bash中的另一个变量中

将日期格式包含到bash中的另一个变量中,bash,variables,syntax,Bash,Variables,Syntax,当我将日期变量包含到另一个变量中时,我很难理解语法 以下是脚本片段: #!/bin/bash -x DAY=$(date +%d-%m-%y) YESTERDAY=$(date -d "-1 days" +"%d-%m-%Y") FILE=/tmp/${YESTERDAY}/* OUTPUT="/tmp/count_${YESTERDAY}.log" for i in $FILE do grep -oP "(?<=<TEST>

当我将日期变量包含到另一个变量中时,我很难理解语法

以下是脚本片段:

#!/bin/bash -x


DAY=$(date +%d-%m-%y)
YESTERDAY=$(date -d "-1 days" +"%d-%m-%Y")
FILE=/tmp/${YESTERDAY}/*
OUTPUT="/tmp/count_${YESTERDAY}.log"

        for i in $FILE
        do
        grep -oP "(?<=<TEST>).*?(?=</TEST>)" ${i} >> ${OUTPUT}; 
        done
如果我手动设置变量,如:

FILE="/tmp/06-07-15/*" 
然后,它的工作

感谢您的帮助和建议:


AL

设置昨天的值时,您使用了错误的年度说明符;%Y将4位数的年份放入字符串中,而不是目录似乎使用的2位数年份。把那行改成

YESTERDAY=$(date -d "-1 days" +"%d-%m-%y")

是否存在/tmp/06-07-2015/目录?有点不清楚您在问什么,grep的错误意味着glob/tmp/06-07-2015/*无法扩展到任何文件,并且未扩展,这意味着目录/tmp/06-07-2015不存在或为空。是的,此目录存在,文件存在。这就是我挣扎的原因我们无法为您调试。要么提供更多信息,要么由于不清楚您在问什么或者此代码为什么不起作用而关闭?好的。如果我删除了变量文件中日期的变量部分;然后它工作,循环正确地展开文件。我需要手动设置文件路径ex:FILE=/tmp/06-07-15
YESTERDAY=$(date -d "-1 days" +"%d-%m-%y")