有時候需要將一個文件內容進行重新編寫,可能經常想到的是使用rm命令直接刪掉,然后再touch新建,vi進去編寫新的內容。
有沒有簡單辦法只將文件內容清空而不刪除文件呢?
1.使用echo "" > file_name,直接將空字符串重定向並覆蓋到目標文件。
[storm@nimbus-storm-pre jch]$ cat error.txt
data1.txt
error.txt
redirect.txt
test1
[storm@nimbus-storm-pre jch]$ echo "" > error.txt
[storm@nimbus-storm-pre jch]$ cat error.txt
[storm@nimbus-storm-pre jch]$
2.使用cat /dev/null > file_name,讀取dev目錄下的一個null文件,並重定向覆蓋目標文件,類似方法1。
[storm@nimbus-storm-pre jch]$ cat error.txt
data1.txt
error.txt
redirect.txt
test1
[storm@nimbus-storm-pre jch]$ cat /dev/null > error.txt
[storm@nimbus-storm-pre jch]$ cat error.txt
[storm@nimbus-storm-pre jch]$
3.使用vi命令進入vim編輯器,在指令模式下(進入方法,輸入冒號:)輸入 %d,即可清空整個文件。
當文件內容較大時可能會執行較慢。最后別忘了wq保存。
[storm@nimbus-storm-pre jch]$ vim error.txt
data1.txt
error.txt
redirect.txt
test1
~
~
~
:%d
:wq