根据bash脚本中的名称选择性地创建文件夹



我有几个文件调用如下:

dosulepin3D_CID_5284550.pdbqt
protriptyline3D_CID_4976.pdbqt

这些都是小分子。现在,我想在Results文件夹中为这些分子中的每一个创建一个文件,忽略它们后面的3D_CID_5284550.pdbqt,并创建名为:的文件夹

dosulepin
protriptyline

我想用for循环来实现这一点,因为我也在用这些文件执行一些功能。这就是我所拥有的:

DIR="/home/roy/MolecularDocking/VirtualScreening/Dockings"
cd $DIR
for ligand in ligands/*; do
echo $ligand
mkdir "/home/roy/MolecularDocking/Results/$ligand"
done;

但这会创建带有全名的文件夹。

类似的内容。

DIR="/home/roy/MolecularDocking/VirtualScreening/Dockings"
cd "$DIR" || exit
for ligand in ligands/*.pdbqt; do
echo "$ligand"
echo mkdir -p "/home/roy/MolecularDocking/Results/${ligand%3D*}"
done

如果您对输出感到满意,请从mkdir中删除echo

有关详细信息,请参见参数展开。

最新更新