2016-09-23 61 views
0

foldername=$(echo 'A A_2016' | cut -f 1 -d '_') mv "$filename" $foldername/ foldername是'A'有一个空格,所以如何处理这个。 谢谢。如何处理带空间的路径变量

+2

目前还不清楚你问什么。为什么不能简单地使用'mv“$ filename”A \ A_2016 /'或'mv“$ filename”A \ A /'? – arkascha

+0

我从某个地方得到一个字符串,然后拆分它以获取文件夹名称,所以我不知道文件夹名称,然后再分割它,无法使用您的方式进行修复。 –

回答

0

只需使用引号中的变量:

mv "$filename" "$foldername/" 
+0

好!!!!回复你中文:么么哒! –

0

只是把反斜杠如下: 让你的文件夹名称为“新建文件夹”和路径是USR的/ etc /新文件夹

mv aa.txt usr/etc/new\ folder 

如果您使用的变量使用它作为

mv aa.txt "$FOLDERNAME/" 
+0

但我从字符串中得到文件夹名称,所以我不知道文件夹名是否包含space.it是我的黑盒子 –

+0

用变量名添加“”作为“$文件夹名称/“ –

+0

非常感谢。 –

0

你必须使用反斜线后跟空白。例如,你必须写A\ A_2016。创建

0

示例文件:示例文件的

touch 'A A_2016' 
ls -1 
A A_2016 

名称检查:

echo ${file} 
A A_2016 

使用变量扩展斩之后移动它。

mv "${file}" "${file##* }" 
ls -1 
A_2016