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

2024-04-16 07:50:29 发布

您现在位置:Python中文网/ 问答频道 /正文

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

~/Desktop/dir1和~/Desktop/dir2

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

/dir1中的文件名是:1.out、2.out。。。21.2出局

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

我用python编写了一个绘图脚本,它接受文件名的命令行参数,并基于文件内容构建一些绘图。所以问题是如何匹配文件并将其提供给脚本?我试着用bash,但我不知道怎么做。也许有可能从python得到这个结果?你知道吗

我本可以用手来做的,但我宁愿学着自动做。你知道吗


Tags: 文件命令行目录脚本bash绘图内容参数
2条回答

在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)

可能有一个更有效的方法来做这件事,但这是一个快速和肮脏的方法,应该相对灵活。你知道吗

相关问题 更多 >