刪除bash中最新的X文件

刪除bash中最新的X文件

有一個簡單的方法,在一個漂亮的標準UNIX環境中用bash運行一個命令來從目錄中刪除除最新X文件以外的所有文件? 為了給出更具體的例子,設想一些cron作業每隔一小時將一個文件(例如日誌文件或tar-up備份)寫入一個目錄。 我想要一種方法來運行另一個cron作業,它將刪除該目錄中最舊的文件,直到少於5個。 只是要清楚,只有一個文件存在,它不應該被刪除。…


command line - 如何使用sed只替換文件中的第一個匹配項?

我想在任何現有的#includes之前用額外的include指令更新大量的C++源文件。 對於這類任務,我通常使用一個帶有sed的小型bash腳本來重寫該文件。 如何讓sed替換文件中第一次出現的字符串,而不是替換每次出現的字符? 如果我使用 sed s/#include/#include "newfile.h"\n#include/ 它會取代所有#includes。 替代性的建議來…


bash - 退出sed替換模式的字符串

在我的bash腳本中,我有一個外部(從用戶接收)字符串,我應該在sed模式中使用它。 REPLACE="<funny characters here>" sed "s/KEYWORD/$REPLACE/g" 我如何轉義$REPLACE字符串,以便它可以被sed安全地接受為字面替換? 注: KEYWORD是一個啞巴子串,沒有匹配等,它不是由用戶提供的。…


unix - 如何獲取差異以報告新行,已更改行和已刪除行的摘要

我想要總結兩個文件之間的區別。 預期輸出是新行,刪除行和更改行的計數。 diff很容易提供這樣的輸出嗎? 如果沒有,那麼有任何腳本/實用程序可用於獲取摘要。…


如何使用bash(grep/sed/etc)來獲取2個時間戳之間的一段日誌文件?

我有一組郵件日誌:mail.log mail.log.0 mail.log.1.gz mail.log.2.gz 這些文件中的每一個都包含按照時間戳開始的按時間順序排序的行, 五月三日13:21:12... 如何在不比較每一行的情況下,輕鬆地使用bash(以及相關的命令行工具)在特定日期/時間之前和另一個日期/時間之前輕鬆獲取每個日誌條目? 請記住,我之前和之後的日期可能不完全匹配日誌…


sed行範圍,除了最後一行之外的所有行

您可以指定要操作的行範圍。 例如,要對所有行進行操作(當然是默認值): sed-e "1,$ s/a/b/" 但我需要操作除了最後一行之外的所有行。 你顯然不能使用算術表達式: sed-e "1,$-1 s/a/b/"(在這種情況下,我使用cygwin,如果它有所作為)…


sed:替換部分行

如何用sed代替一部分線? 這條線 DBSERVERNAME xxx 應該替換為: DBSERVERNAME yyy 值xxx可以變化,dbservername和值之間有兩個選項卡。 此名稱-值對是配置文件中的眾多名稱-值對之一。 我嘗試了以下反向引用: echo "DBSERVERNAME xxx" | sed-rne 's/\(dbservernam…


BASH:在名稱以數字開頭的目錄中查找最高編號的文件名(ls,sed)

我有一個目錄,其文件如下所示: 001_something.php 002_something_else.php 004_xyz.php 005_do_good_to_others.php 我最終希望創建一個新的,空的PHP文件,其名稱以系列中的下一個數字開頭。 LIST=`exec ls $MY_DIR | sed 's/\([0-9]\+\).*/\1/g' | tr '\…


有sed忽略不匹配的行

如何根據某個表達式使sed過濾器匹配行,但忽略不匹配的行,而不是讓它們打印? 作為一個真實的例子,我想在一組文件上運行scalac(Scala編譯器),並從其-verbose輸出中讀取創建的.class文件。 scalac-verbose輸出一堆消息,但我們只對[wrote some-class-name.class]形式的那些消息感興趣。 我目前正在做的是這個( |&是bash 4.0將…


unix - 如何從文件中的每一行刪除前導空格?

我有一個看起來像這樣的文件: for(i=0; i<100; i++) for(i=0; i<100; i++) for(i=0; i<100; i++) for(i=0; i<100; i++) for(i=0; i<100; i++) for(i=0; i<100; i++)…





sed grep awk file sed用法 sed替換 replace sed空格 linux sed教學