我试图通过shell脚本从存储在目录中的一组文件中grep特定模式。但是,脚本会扫描文件,但它不会将结果提取给我。我有5个文件,模式为finishing with status COMPLETE
以下是代码,请您帮忙解决问题
#!/bin/bash
dt=$(date --d='7 day ago' +'%Y%m%d')
countT=$("find /home/arun/file_status -type f -name "product_feed_*stock*_${dt}*.out" -exec grep "finishing with status COMPLETE" {} \;" | wc -l)
echo $countT
if [ $countT -eq 5 ]
then
echo "Hello"
else
echo "Hai"
fi
以下是错误:
find / home / arun / file_status -type f -name product_feed_stock_20170504 * .out -exec grep finishing:没有这样的文件或目录0 Hai
答案 0 :(得分:1)
需要在find命令中删除引号。
#!/bin/bash
dt=$(date --d='7 day ago' +'%Y%m%d')
countT=$(find /home/arun/file_status -type f -name "product_feed_stock_${dt}*.out" -exec grep "finishing with status COMPLETE" {} \;| wc -l)
echo $countT
if [ $countT -eq 5 ]
then
echo "Hello"
else
echo "Hai"
fi