Bash

如何定期從文件中刪除所有內容而不刪除它

  • January 8, 2012

我需要定期清空一個文本文件而不刪除它(我知道它有多少行)。

我試過這個:

創建了一個執行以下腳本的 cron

other lines from the script here

sed '1,14d' file.txt>file.txt

如果我從終端執行它,它可以正常工作,但是當我執行 cron 時,它會執行第一部分(“此處腳本中的其他行”部分),但它不會清空文件。

注意:該文件有 777 權限,所以我認為它與權限無關。

當 cron 執行腳本時,目前工作目錄可能不是您所期望的。嘗試指定 file.txt 的完整路徑。此外,這也應該清空文件,以防 sed 命令出現問題:

echo > file.txt

您可以嘗試一個簡單的 >file.txt

$ cat file.txt
this is a test
$ >file.txt
$cat file.txt
$

引用自:https://serverfault.com/questions/253610