![](/img/trans.png)
[英]BASH script : list all files including subdirectories and sort them by date
[英]sort list of files by date in bash
給定一個包含一些文件列表的文本文件,例如
$ cat file_list.txt
/var/x/file1.txt
/var/y/file2.txt
<etc>
如何根據某些標准對文件列表進行排序 - 例如上次訪問時間或上次更改時間?
提前致謝。
您可以使用stat
命令進行sort
如下所示:
while read -r line; do
stat -c '%Y %n' "$line"
done < file_list.txt | sort -n | cut -d ' ' -f2
stat -c '%Y %n'
列出上次修改的時間,自紀元以來的秒數,后跟空格和文件名sort -n
按數字sort -n
時間戳及其文件名進行sort -n
cut -d ' ' -f2
僅打印 sort 輸出中的文件名嘗試一個班輪(按修改時間):
ls -t $(cat file_list.txt)
或者
ls -t `cat file_list.txt`
您可以獲得最近更改的文件
cat file_list.txt | xargs stat -c '%Y %n' | sort | tail -1 | cut -c 12-
您可以獲得最新的時間戳
cat file_list.txt | xargs stat -c '%Y %n' | sort | tail -1 | cut -c -10
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.