[英]String comparison issue in bash script
我寫了下面的腳本,該腳本的目的是查找所有以foo開頭且不超過3天的文件,然后對它們進行排序,然后將它們與列表文件中的文件列表進行比較。 並僅報告丟失的文件。 我的腳本的問題在於它不能解決丟失的文件,即請參見以下示例,假設我的名為list的文件包含foo1,foo2,foo3,foo4,foo5,但是如果一個文件文件丟失了字符串比較已關閉。 即如果腳本運行時缺少文件foo4,則將對foo5進行比較
希望有道理
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
您可能需要使用diff
比較列表
或者您可以使用fgrep -vf report list
獲得list和report之間的區別
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.