[英]sort results given by find command
這是find命令:
find . -name 'VPN_CALLRECORD_20140409*' -type f| xargs ls -lhrt |awk '{print $9}' > log.txt
這是我要查找的文件集,這些文件可以是定向到“ xargs”的7,000個文件,我只列出第一部分,中間部分和最后一部分
-rw-rw-r-- 1 see seegrp 100K Feb 12 00:00 VPN_CALLRECORD_20140409000000_000760000.txt
-rw-rw-r-- 1 see seegrp 193K Feb 12 00:01 VPN_CALLRECORD_20140409000000_000760001.txt
.
.
-rw-rw-r-- 1 see seegrp 193K Feb 12 10:03 VPN_CALLRECORD_20140409174500_000764500.txt
.
.
-rw-rw-r-- 1 see seegrp 95K Feb 12 23:59 VPN_CALLRECORD_20140409235500_000766488.txt
-rw-rw-r-- 1 see seegrp 103K Feb 12 23:59 VPN_CALLRECORD_20140409235500_000766489.txt
稍后,這是壓縮的tar:
tar -czf cdr_backup.tar.gz -T log.txt
使用這種方式執行日志時出現問題,因為log.txt文件上的結果未正確排序,我認為這是由於某些xargs限制
碼:
number=$(more log.txt |wc -l)
echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++">>log_after_cdr_backup.txt
echo "Start Time : $DATETIME">>log_after_cdr_backup.txt
echo "Tar file created: $FILE">>log_after_cdr_backup.txt
echo "Tar file contains $number CDRs backed up successfully">>log_after_cdr_backup.txt
firstline=$(head -n 1 log.txt)
echo "from this sequence $firstline ">>log_after_cdr_backup.txt
lastline=$(tail -1 log.txt)
echo "to this one $lastline">>log_after_cdr_backup.txt
echo "Finish Time : $FINISHTIME">>log_after_cdr_backup.txt
echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++">>log_after_cdr_backup.txt
產生的輸出:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Start Time : 20140410 15:16:24
Tar file created: cdr_backup.tar.gz
Tar file contains 7720 CDRs backed up successfully
from this sequence ./VPN_CALLRECORD_20140409000000_000741343.txt
to this one ./VPN_CALLRECORD_20140409174500_000764500.txt
Finish Time : 20140410 15:23:42
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
請注意,最后一個序列不是應為
VPN_CALLRECORD_20140409235500_000766489.txt
為什么? 我不確定,我嘗試對log.txt文件中的結果進行排序,所以這
lastline=$(tail -1 ${TEMPFILE})
可以工作,但是不可能,你知道為什么嗎?
Xargs將分割傳入參數的數量,以避免創建太長的命令行。 同樣,“ find”的輸出將不會以任何方式排序。 如果要排序,請在管道中插入一個“排序”調用(例如,在末尾)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.