我正在尝试查找是否在调度程序中实际调用的脚本文件列表中调用了一些java类。
while read j; do
while read b; do
#Read through job files
if [ $(cat crontab.now *.sh | grep -c ./$b) == "1" ] ; then
echo -e $j: $(cat $b | grep -c .$j) >> bash_output.txt
fi
done <UsedBash.txt
done <java_file_names.txt
我只希望在调度程序中至少找到一次的脚本中查找java文件名。没有嵌套的while循环,有没有更有效的方法来做到这一点?我也不认为我的if语句有效。谢谢。
答案 0 :(得分:1)
我不知道你真的想要它如何完成,但也许可以试试这个:
while read j; do
while read b; do
[[ $(exec grep -c "/$b" crontab.now *.sh) -ge 1 ]] && \
echo -e "$j: $(exec grep -c ".$j" "$b")" >> bash_output.txt
done < UsedBash.txt
done < java_file_names.txt
答案 1 :(得分:0)
解答:
input=$(cat UsedBash.txt | tr '\n' ' ')
while read j; do
j=$(echo $j | sed -e 's/\r//g')
#Read through job files
echo $j: $(cat $input | grep -c $j) >> bash_output.txt
done <java_file_names.txt