将日期格式包含到 bash 中的另一个变量中
include date format into another variable in bash
当我将我的日期变量包含到另一个变量中时,我很难理解语法。
这是脚本片段:
#!/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
输出:
grep: /tmp/06-07-2015/*: No such file or directory
如果我手动设置如下变量:
FILE="/tmp/06-07-15/*"
然后就解决了;
感谢您的帮助和建议:)
铝
您在设置 YESTERDAY
的值时使用了错误的年份说明符; %Y
将 4 位数年份放入字符串中,而不是您的目录似乎使用的 2 位数年份。将该行更改为
YESTERDAY=$(date -d "-1 days" +"%d-%m-%y")
当我将我的日期变量包含到另一个变量中时,我很难理解语法。
这是脚本片段:
#!/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
输出:
grep: /tmp/06-07-2015/*: No such file or directory
如果我手动设置如下变量:
FILE="/tmp/06-07-15/*"
然后就解决了;
感谢您的帮助和建议:)
铝
您在设置 YESTERDAY
的值时使用了错误的年份说明符; %Y
将 4 位数年份放入字符串中,而不是您的目录似乎使用的 2 位数年份。将该行更改为
YESTERDAY=$(date -d "-1 days" +"%d-%m-%y")