linux - 如何查找和连接具有不同字符但其根在文本文件中列出的文件?
问题描述
所以我试图连接前缀和后缀略有不同但根相同的文件。但我想为文本文件中列出的所有“根”做这件事。
到目前为止,我已经能够做到这一点,但一次只有一个根,效果很好:
#works
find directory/ -type f -name ‘*ftsW*.fna' -exec cat {} \; > new_directory/ftsW.fna
但是,当我尝试遍历“roots.txt”文件中列出的所有根时,我得到了 txt 文件中列出的所有根的空文件。
#outputs empty files
filename='roots.txt'
filenames=`cat $filename`
for a in $filenames
do find directory/ -type f -name '*$a*.fna' -exec cat {} \; > new_directory/$a.fna
done
有谁知道我可以修复此代码?谢谢!
解决方案
当您在循环中运行时,您将第一个文件写入您的目的地,然后用下一个文件覆盖您的 dest,然后再次覆盖它,等等。所以您只会得到最后一个文件。尝试这个:
cat $(find directory/ -type f -name '*$a*.fna') > new_directory/$a.fna
这将一次对所有文件进行分类。
推荐阅读
- android - 当我使用 HorizontalGridView 设置 setFocusScrollStrategy(HorizontalGridView.FOCUS_SCROLL_PAGE) 时,它崩溃了
- design-patterns - 纪念品设计模式 - 真实世界的例子
- jira - Jira jql 查询以过滤其中包含子问题的问题
- python - Python:如何将元组列表转换为字典键?
- javascript - React 实现 Pannable 和 Zoomable 元素,其中包含 Draggable 组件
- javascript - Javascript - 给定宽度、高度和空间限制,并允许旋转,计算有多少矩形适合一个大矩形
- javascript - WebAssembly 代码未在现有 angularjs 应用程序中运行
- c++ - 类的问题被认为是抽象类但没有虚拟纯方法
- reactjs - 如何通过 ReactJS 中的链接正确传递道具,以便它也可以在新选项卡中打开?
- python - `logging.basicConfig(level=logging.INFO)` 是否应该只接受 INFO 级别的日志记录?