linux - 将文件内容与其他文件名匹配以提取和合并内容
问题描述
我有两个目录。
在 directory_1 中,我有很多 .txt 文件
这些文件的内容(例如 file1.txt)是一个字符列表
file1.txt
--
rer_098
dfrkk9
在 directory_2 中,我有很多文件,其中两个是“rer_098”和“dfrkk9”。
这些文件的内容如下:
rer_098
--
>123_nbd
sasert
>456_nbd
ffjko
dfrkk9
--
>789_nbd
figyi
>012_nbd
jjjygk
现在在一个单独的输出目录(directory_3)中,对于上面的示例,我想要输出文件,例如:
file1.txt
--
>123_nbd
sasert
>456_nbd
ffjko
>789_nbd
figyi
>012_nbd
jjjygk
等等 file2.txt
谢谢!
解决方案
这可能对您有用(GNU 并行):
parallel 'cat {} | parallel -I@@ cat dir_2/@@ > dir_3/{/}' ::: dir_1/*.txt
使用两次并行调用,第一次dir_1
在第二次并行中遍历并管道其输出。这cat
是输入文件并输出dir_3
保留第一次并行调用的原始名称的结果。
注意 使用该-I
选项将参数分隔符从默认值重命名{}
为@@
.
推荐阅读
- python - 如何在 Python 中导入包含格式错误的引号的 csv 文件?
- android - android gdb 因“远程目标不支持 qGetTIBAddr 数据包”错误而失败
- java - Java Card JCA 文件到 CAP 文件名
- swift - 项目重新排序后,SwiftUI 绑定编辑错误的文本字段
- leaflet - 我无法在 Leaflet.js 中设置“移动箭头”的位置和缩放
- javascript - 完整日历 v3 特定事件禁用拖动
- python - 是否可以将抽象类中的字段的 related_name 属性设置为 Django 中具体类的属性?
- postgresql - Postgres恢复模式在崩溃后删除了数据?
- wordpress - 在 wordpress 导航栏设置中需要帮助
- node.js - Kahoot.js 请求错误:错误:套接字挂起