0
我试图从文件夹中列出的所有文件中删除包含基准名的每一行。使用sed从文本文件中删除多个文件名
我在文件夹中有2 000 000个文件,但应该有2 500 000个文件。我有一个逐行包含所有2.5M文件名的missing.txt文件。我想删除我已经有的所有行来重新启动我的进程并完成500 000个丢失的文件。
我非常简单的脚本是:
for FILE in ../pdb/*; do
BNAME="$(basename ${FILE} _mini.pdb)"
sed "/${BNAME}/d" ./missing.txt
done
的问题是,SED不删除missing.txt文件中的$ BNAME线。我在做什么错误的sed?
或者只是使用'awk'或类似的“diff”这两个文件。 –
missing.txt不包含扩展名文件。我已经尝试了../pdb/*中的FILE;做BNAME ='basename $ FILE .pdb'; echo $ BNAME >> missing.txt但它需要永远。我应该尝试使用sed为每一行添加.pdb扩展名吗? – Grego
@Grego是的,我认为你应该。 – mauro