假设我有1000个txt
个文件,我必须清空文件中的所有内容,并且只保留1000个没有内容的文件。
我试图在shell中使用cat /dev/null > *.txt
,但我得到了 - bash: *.txt: ambiguous redirect
并且文件没有清空。有什么建议吗?
答案 0 :(得分:2)
在Python中你会写
import glob
for filename in glob.glob('*.txt'):
with open(filename, 'w') as f:
f.write("")
答案 1 :(得分:0)
在shell中,您可以通过回显空字符串来清空文件:
echo '' > yourfile
答案 2 :(得分:0)
这样一种方法来截断文件:
> file
答案 3 :(得分:-1)
你可以使用bash for循环。
for file in `ls`; do echo "" > $file; done
现在解释不同的部分:
for file in `ls`
这会为目录中的所有文件创建一个for循环,并将每个文件名依次分配给变量$file
。
do echo "" > $file
这会将空字符串(""
)输出到每个文件中,覆盖其内容。
done
这结束了for
循环。
请注意,这是一个破坏性命令,将清除目录中的每个文件!