「ls -tr | tail -n -6 | cut -c16-17 | sort -u | wc -l「是1 當最後的6個文件在文件名中的特定位置上有相同的值時,我怎樣才能把這個放到if/else語句中以便進一步檢查?如何正確地將「ls -tr | tail -n -6 | cut -c16-17 | sort -u | wc -l」放入if語句
我已經試過這
if [ $(ls -tr | tail -n -6 | cut -c16-17 | sort -u | wc -l) ==1 ]
then
zabbix_sender -z zabcol-pp.domain.com -s dvs.backup -k frameoffset -o "OK"
else
zabbix_sender -z zabcol-pp.domain.com -s dvs.backup -k frameoffset -o "Failed"
fi
但是,這並不工作,所以後來嘗試了通過解析值到offset.txt文件,但後來檢查,如果值相等,其工作不簡化流程完美無瑕的,在一段時間不是6,但在過去5個文件進行解析和第六每一次爲一個空行,這不等於讓我得到一個「失敗」狀態,而它實際上不是....
ls -tr | tail -n -6 | cut -c16-17 > ../offset.txt
if [ $(sort -u ../offset.txt | wc -l) == 1 ]
then
zabbix_sender -z zabcol-pp.domain.com -s dvs.backup -k frameoffset -o "OK"
else
zabbix_sender -z zabcol-pp.domain.com -s dvs.backup -k frameoffset -o "Failed"
fi
除了我認爲這是一個不那麼優雅的方法,所以我想要獲得管道版本UT將它放到一個臨時工作,但無法弄清楚如何做到這一點...
非常感謝您提前...
我想也許調查awk/Perl等等,因爲上面的方法會產生* 5 *個獨立的進程! –