我在两个目录中有一组文件
〜/ 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?
我本可以手工完成,但我宁愿学习如何自动完成。
答案 0 :(得分:4)
在bash中,使用参数扩展:
#!/bin/bash
for f in dir1/*.out
echo "$f" "dir2/chr-${f#dir1/}"
done
答案 1 :(得分:1)
或者在Python中(从桌面工作):
import os
for file1 in os.listdir('dir1'):
for file2 in os.listdir('dir2'):
if file1 in file2:
print(file1)
这可能是一种更有效的方法,但这是一种快速而肮脏的方法,应该相对灵活。