首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何匹配不同目录中的文件名?(bash或python)

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

Stack Overflow用户
提问于 2014-10-08 14:17:33
回答 2查看 84关注 0票数 1

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

~/桌面/迪尔1和~/桌面/迪尔2

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

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

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

我用python编写了一个绘图脚本,它接受文件名的命令行参数,并根据文件的内容构建一些情节。那么问题是如何匹配文件并将其提供给脚本?我试着用bash,但我想不出怎么做。也许从蟒蛇身上可以做到这一点?

我本来可以用手做的,但我宁愿学会如何自动做到这一点。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-08 14:21:18

在bash中,使用参数展开:

代码语言:javascript
复制
#!/bin/bash
for f in dir1/*.out
    echo "$f" "dir2/chr-${f#dir1/}"
done
票数 4
EN

Stack Overflow用户

发布于 2014-10-08 14:28:00

或者使用Python (从桌面工作):

代码语言:javascript
复制
import os

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

也许有一种更有效的方法,但这是一种快速和肮脏的方法,应该是相对灵活的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26259208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档