我一直有以下问题:
我有几个路径(文件夹和文件),这些都是在Mac或Windows系统中完成的。现在,在我们的服务器中,我们希望自动化对它们的访问,这本应该是很简单的,但是当我们尝试这样做时:

for subfolder in $(find $folder -mindepth 1 -maxdepth 3 -type d -name "A1*"); do
            name=$(basename $subfolder)
            echo $subfolder

我得到的是这样的东西:
/home/datset/Data/A1
protease
from
Bytw
noth
(P456678888)

我试过每一个sed,awk,不管我能得到什么,我认为它可以工作,但什么都没用。我试过了…有人知道吗?

最佳答案

我猜你的文件名包含空格(/home/datset/Data/A1 protease from Bytw noth (P456678888))?
外壳在空格处拆分“find”返回的内容。

find $folder -mindepth 1 -maxdepth 3 -type d -name "A1*" -print | while read subfolder; do
    name=$(basename "$subfolder")
    echo "$subfolder"

注意引号以确保文件名的完整性。

关于linux - Linux将Windows路径的每个单词作为不同路径返回,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35550030/

10-10 17:44