Files

ack/grep 搜尋並按修改日期排序

  • October 11, 2014

有沒有辦法ack按修改日期對找到的結果進行排序?(理想情況下顯示結果旁邊的日期?)。它看起來沒有ack日期選項,但以防萬一。

如果這是不可能的ack,那麼如何grep或使用工具組合呢?

既沒有ackgrep沒有任何關於文件修改日期的概念。為此,您需要先生成文件列表,然後再根據它們進行排序。

您可以使用其中一個或另一個命令xargs的輸出來提供修改日期。對於修改日期,您可以使用它來執行此操作。ack``grep``stat

例子

$ grep -Rl awk * | xargs -n 1 stat --printf "%y ------ %n\n"
2013-11-12 10:06:16.000000000 -0500 ------ 100855/tst_ccmds.bash
2013-11-13 00:32:11.000000000 -0500 ------ 100911/cmd.bash
2013-11-23 03:16:17.000000000 -0500 ------ 102298/cmd.bash
2013-12-14 20:06:04.467708173 -0500 ------ 105159/cmd.txt
2013-12-16 03:20:48.166016538 -0500 ------ 105328/cmds.txt
2013-01-14 14:17:39.000000000 -0500 ------ 106932/red5-1.0.1.tar.gz

**注意:**此方法只會顯示與您的查詢匹配的文件的名稱以及修改日期。

引用自:https://unix.stackexchange.com/questions/160490