linux - 在 linux 中删除 *.txt 文件之前如何计数并添加到文件?

标签 linux batch-file

我在一个文件夹中有几个 *.txt 文件。我想在使用此命令删除文件之前计算并添加到 deleted_files_count.log 文件:

find ./*.txt -type f -mmin +10 -exec rm {} \;

例如文件夹中有3个*.txt文件,deleted_files_count.log文件内容为5,删除后deleted_files_count.log内容应为8。有谁能够帮助我? 谢谢。

最佳答案

你可以试试这个:

cnt=`cat deleted_files_count.log` ; for i in `find ./*.txt -type f -mmin +10` ; do rm "$i" ; cnt=$(($cnt+1)) ; done ; echo $cnt > deleted_files_count.log 

这不会检查日志文件的内容,也不会检查它是否存在。如果您想正确处理可能的错误,您将不得不对其进行一些改进,但只要您知道 deleted_files_count.log 存在并包含一个数字,它就可以解决问题。

关于linux - 在 linux 中删除 *.txt 文件之前如何计数并添加到文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22143321/

相关文章:

linux - 转换Bash脚本代码,用于代码bat文件windows

linux - 如何使用 'sed' 通过 bash 脚本中另一个文件的输出来修改一个文件?

c++ - 在 Ubuntu 中学习 OpenGL

batch-file - 将输出输出到 Windows 批处理文件中的文本文件,该批处理文件远程告诉机器安排碎片整理

shell - 用于 UNIX shell 命令替换的 WIndows 批处理模拟

sql - DOS命令执行一个目录和子目录中的所有SQL脚本

python - 在 UNIX shell 中捕获 Python 进程的退出状态

linux - 如何在树莓派中使用APC220 radio 通信模块

c++ - 如何避免多重定义链接错误?

windows - 如何批量增加文件名? (第2部分)