bash脚本中的字符串比较问题

时间:2013-08-16 15:56:32

标签: string bash

我编写了下面的脚本,脚本的目的是找到所有以foo开头的文件,并且不用3天的时间对它们进行排序,然后将它们与列表文件中的文件列表进行比较。并仅报告丢失的文件。我的脚本的问题是它不会考虑丢失的文件,即见下面的例子 假设我的名为list的文件包含foo1,foo2,foo3,foo4,foo5但是如果缺少一个文件文件,则字符串比较关闭。即如果在运行脚本时缺少文件foo4,则将foo5与foo4进行比较

希望有意义

enter  

#!/bin/bash
Set –x
Find ~/test99 –name “foo*” –mtime -3 –print>report
Sort report –o report;
Cat report|cut -c 22-25>report1;
while read comp1<&3 && read comp2<&4
do
    if [[ $comp1 = $comp2 ]]; then
    echo "file not found" >/dev/null
else
    echo "$comp1 not found"
fi
done 3<report1 4<list

1 个答案:

答案 0 :(得分:1)

您可能希望使用diff来比较列表

或者您可以使用fgrep -vf report list来区分列表和报告