繁体   English   中英

如何匹配不同目录中的文件名?(bash或python)

[英]How to match filenames in different directories?(bash or python)

我在两个目录中有一组文件

〜/ Desktop / dir1和〜/ Desktop / dir2

我需要将dir1中的文件与dir2中的文件进行匹配,反之亦然

/ dir1中的文件名是:1.out,2.out ... 21.out

/ dir2中的文件名是:chr-1.out,chr-2.out ... chr-21.out

我用python编写了一个绘图脚本,该脚本接受文件名的命令行参数,并根据文件内容构建一些绘图。 所以问题是如何匹配文件并将其提供给脚本? 我尝试使用bash,但是我不知道该怎么做。 也许从python可以做到这一点?

我本来可以手工完成的,但是我宁愿学习如何自动完成。

在bash中,使用参数扩展:

#!/bin/bash
for f in dir1/*.out
    echo "$f" "dir2/chr-${f#dir1/}"
done

或者在Python中(从桌面工作):

import os

for file1 in os.listdir('dir1'):
    for file2 in os.listdir('dir2'):
        if file1 in file2:
            print(file1)

可能有一种更有效的方法来执行此操作,但这是一种快速而肮脏的方法,应该相对灵活。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM