文件bash的大小

文件bash的大小

我必须显示 /etc 中所有文件 .conf 的大小,并将大小输出重定向到 file.txt,但我想在我的命令中添加一个标志,该标志设置重定向输出的限制

我的命令是:

find /etc -name "*.conf" -printf "%s\n" | paste -sd+ | bc > file.txt

但这个命令显示 365077 字节

我希望重定向输出的值介于 120000 字节到 300000 字节之间,这意味着当我 cat file.txt 时,其值介于 120000 字节到 300000 字节之间

如何找到命令的标志?

答案1

$ find /etc -name \*.conf 2> /dev/null | xargs du -sc | tail -n1
1092    total

.conf运行此命令的用户有权检查的该主机上的文件总大小为 1092 字节。

答案2

如果要将结果限制在 120000 到 300000 字节之间,那么一种方法是awk在末尾添加过滤器:

find ... | bc | awk '$1 >= 120000 && $1 <= 300000' > file.txt

这将为file.txt超出范围的总和创建一个空,否则,总和将发送到文件。

仅当总和在范围内时创建文件:

... | awk '$1 >= 120000 && $1 <= 300000 { print $1 > "file.txt" }'

...让 awk 写入文件;最后删除重定向。

相关内容