AnSwErYWJ's Blog

Shell脚本清空文件的几种方法

字数统计: 242阅读时长: 5 min
2016/09/05

本文将介绍几种在Linux下清空文件的方法。

Plan A

代码 :

1
2
3
#!/bin/bash
echo "" > $1
echo "$1 is cleaned up."

运行结果 :

1
2
3
4
5
6
7
8
9
10
11
$ cat test.txt
1
2
3
4
5
$ ./plana.sh test.txt
test.txt cleaned up.
$ cat test.txt


使用这个方法文件其实并没有真正被清空,而是有一个空行。

Plan B

代码 :

1
2
3
#!/bin/bash
: > $1
echo "$1 is cleaned up."

运行结果 :

1
2
3
4
5
6
7
8
9
10
11
$ cat test.txt
1
2
3
4
5
$ ./planb.sh test.txt
test.txt is cleaned up.
$ cat test.txt


是一个空命令,起到占位符的作用。这里被清空的文件不再有空行,实现真正意义的清空。

Plan C

代码 :

1
2
3
#!/bin/bash
cat /dev/null > $1
echo "$1 is cleaned up."

运行结果 :

1
2
3
4
5
6
7
8
9
10
$ cat test.txt
1
2
3
4
5
$ ./planc.sh test.txt
test.txt is cleaned up.
$ cat test.txt

/dev/null可以看作一个”黑洞”。所有写入它的内容都会丢失。从它那儿读取也什么都读不到。这里被清空的文件同样不再有空行,实现真正意义的清空。

原文作者:AnSwErYWJ

原文链接:https://answerywj.com/2016/09/05/empty-file-in-shell/

发表日期:2016/09/05 11:09

版权声明:本文采用Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License进行许可.
Creative Commons License

CATALOG
  1. 1. Plan A
  2. 2. Plan B
  3. 3. Plan C