Linux批量文件管理:rename/find/xargs/ln
442 字
2 分钟
Linux批量文件管理:rename/find/xargs/ln
生信项目跑到后面,文件数量爆炸。raw_data 里 200 个 fastq,results 里 50 个 BAM,logs 里一堆散落的日志。手动整理是不可能的。
本文提供常用的批量文件管理命令集,覆盖批量重命名、批量查找删除、批量压缩和批量软链接创建,每条可直接复制使用。
1. rename——批量改名
# 把所有.fastq改成.fqrename 's/\.fastq$/.fq/' *.fastq
# 去掉文件名中的_sample_前缀rename 's/_sample_/_/' *_sample_*.fastq.gz
# 把所有空格改成下划线rename 's/ /_/g' *
# 转小写rename 'y/A-Z/a-z/' *注意: Debian/Ubuntu的 rename 用的是 Perl 正则,CentOS 的用法不同(rename old new files)。不确定就用 file-rename。
2. find——查找并操作
# 找所有超过1GB的BAM文件find . -name "*.bam" -size +1G
# 删除7天前的临时文件find /tmp -name "*.tmp" -mtime +7 -delete
# 找空文件find . -type f -empty
# 把所有.sh加执行权限find . -name "*.sh" -exec chmod +x {} \;
# 找软链接(断了的)find . -type l ! -exec test -e {} \; -print3. xargs——批量执行
# 并行gzip压缩(-P4=4线程)find . -name "*.fastq" | xargs -P4 -I{} gzip {}
# 删除含ERROR的日志文件grep -l "ERROR" *.log | xargs rm -f
# 统计所有fastq.gz总大小find . -name "*.fastq.gz" | xargs du -ch | tail -14. 软链接管理
# 统一引用基因组,不拷贝ln -s /opt/refs/hg38.fa ./refs/
# 批量创建链接(参照组每个基因一个链接)cat gene_list.txt | xargs -I{} ln -s /opt/refs/{}.fa ./genes/
# 查看链接指向readlink -f hg38.fa5. 实用组合
# 批量统计行数find ./results -name "*.txt" | xargs wc -l | sort -rn
# 批量检查文件完整性(gzip)find . -name "*.gz" | xargs -P8 -I{} sh -c 'gzip -t {} || echo "CORRUPT: {}"'
# 按日期归档日志tar -czf logs_$(date +%Y%m).tar.gz logs/本文于 2025-09-01 实测。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
Linux批量文件管理:rename/find/xargs/ln
https://fg.ink/posts/linux-batch-file-management/ 相关文章 智能推荐
1
Linux文件管理:权限、路径、查找、批量操作
技术 Linux文件权限与路径管理的基础实操,覆盖chmod、软链接、find批量操作和脚本路径配置。
2
生信常见报错排查:20条错误与解决方案
技术 生信分析中20个常见报错的排查手册,按文件权限、内存溢出、软件依赖和流程逻辑分类,每条附错误原文与解决方案。
3
命令行效率工具:bat/fd/ripgrep/jq
技术 bat、fd、ripgrep和jq四个命令行效率工具的生信实战,覆盖文件浏览、内容搜索和JSON数据解析。
4
Linux进程管理:htop/ps/kill/nice
技术 Linux进程管理的完整指南,覆盖ps/htop监控、kill信号选择、nice优先级调整和后台任务管理。
5
Linux环境变量与配置文件:PATH/LD_LIBRARY_PATH详解
技术 Linux环境变量的作用域、加载顺序与配置文件机制详解,覆盖PATH、conda环境冲突和动态库路径问题。
随机文章 随机推荐