今天写binlog恢复数据脚本的时候,需要取出binlog目录下的所有完整
的binlog文件,就是除去当前正在使用的binlog和binlog的索引日志的所有binlog文件。
所以需要取出ls查看出的binlog目录下除去最后两行的所有行,用作循环库。
开始打算用ls /data/mysql/log/binlog | grep -sed ……
sed取出最后两行,用grep -v 拿掉。研究之后发现不合理
小伙伴有知道可以告诉我一下,sed怎么取出最后一行内容
然后决定用head
ls /data/mysql/log/binlog | wc -l 可以算出binlog下的文件个数
$((`ls /data/mysql/log/binlog | wc -l` -2)) 就是去掉两个文件的个数
ls /data/mysql/log/binlog | head -n $((`ls /data/mysql/log/binlog | wc -l` -2)) 这样就是除去最后两行的所有行的内容。
脑袋一热发出大胆猜测:
ls /data/mysql/log/binlog |head -n -2

本文详细介绍了如何使用sed和head命令在Linux环境下高效地管理MySQL binlog文件,通过过滤和筛选,仅保留所需binlog文件进行后续操作。包括计算文件数量、过滤指定文件数量的方法及原理,旨在提升日常运维效率。

524

被折叠的 条评论
为什么被折叠?



