我使用以下命令列出了比N天更好的文件/目录
DATE=`date +%Y-%m-%d`
dt=`date --date "$dt" +%Y%m%d`
loop_dt=`date -I --date "$dt -1 day"`
*** output of loop_dt = 2018-02-25***
hdfs dfs -ls r /path/ | awk '$6 < "$loop_dt"'
我知道上面的hdfs命令是错误的,但是我想在awk命令中传递loop_dt varible,以便知道列出n天以前的文件
注意:如果我在awk命令中硬编码日期,我会得到结果
答案 0 :(得分:0)
要回顾我在评论中所说的内容,您需要通过以下方式修复awk
命令:
$ cat file
2015-08-01
2015-08-13
$ awk -v var="2015-08-12" '{if( $1 < var"") print}' file
2015-08-01
将2015-08-12
替换为您的shell变量"$loop_dt"
,它应该可以正常工作。
说明:
awk -v awkVarName="$shellVariable" 'BEGIN {print awkVarName}'
将变量传递给awk
if( $1 < var"")
""
强制进行字符串比较。