我一直有以下问题:
我有几个路径(文件夹和文件),这些都是在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/