簡體   English   中英

bash腳本中的字符串比較問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM