如何在shell中輸出最新建立的檔案

如何在shell中輸出最新建立的檔案

我有一個可執行文件,可以建立其中一個文件file1file2與其他文件一起建立。我正在嘗試編寫一個 shell 腳本,它應該輸出最新建立的檔案。如果可執行檔創建file1,輸出應該是file1.請注意,我已經擁有這兩個檔案file1並且file2與其他檔案一起存在於目錄中。可執行檔會覆蓋它。如果不存在 file1/file2,則下面的腳本可以工作,但如果file1和都存在,則此腳本不起作用file2

if [ -e "file1" ]; then
   output="file1"
else
   output="file2"
fi

答案1

快速而簡單的方法。

output="$(ls -td control.tk input.scs 2> /dev/null|head -1)"

但是,只有當您可以確保文件不包含換行符或空格等有趣字元時,我才會使用它。如果您可以保證檔案名稱不包含有趣的字符,那麼解析ls就非常安全。

相關內容