Szy*_*zki 3 linux bash shell scripting file
我试图找出如何编写一个小脚本来删除小于50千字节的文本文件,但我没有成功.
我的尝试看起来像这样:
#!/bin/bash
for i in *.txt
do
if [ stat -c %s < 5 ]
then
rm $i
fi
done
Run Code Online (Sandbox Code Playgroud)
我会赞美一些指导,谢谢!
fed*_*qui 10
您可以直接使用find此size选项:
find /your/path -name "*.txt" -size -50k -delete
^^^^^^^^^^
if you wanted bigger than 50k, you'd say +50
Run Code Online (Sandbox Code Playgroud)
您可能希望坚持当前目录中的文件,而不是在目录结构中.如果是这样,你可以说:
find /your/path -maxdepth 1 -name "*.txt" -size -50k -delete
Run Code Online (Sandbox Code Playgroud)
来自man find:
-size n [cwbkMG]
文件使用n个空格单位.可以使用以下后缀:
'b'表示512字节块(如果没有使用后缀,这是默认值)
'c'表示字节
两个字节的单词'w'
Kilobytes的'k'(1024字节单位)
'M'表示兆字节(单位为1048576字节)
千兆字节'G'(单位1073741824字节)