如何在名称开头用空格命名的文件,然后在没有空格的情况下重命名?顺便说一下,还有其他文件包含“file1名称.ls -l”File1“将显示其中包含”File1“名称的所有文件。
-(BOOL)getUSBChargeCurrent:(int *)current error:(NSError **)error;
如您所见,“File1”的开头有一个空格。如何将“File1”重命名为“Bad_File1”?
由于
答案 0 :(得分:2)
引用它的名字:
mv " File1" "Bad_File1"
^
另请注意"文件1"是一个目录:
drwxr-xr-x 2 root root 1515 Apr 8 01:36 File1
^
所以你看到的ls -l " File1"
是这样的目录的内容。
答案 1 :(得分:0)
您可以将目录中具有前置空格的所有文件或目录移动到其名称,而不会使用类似于以下内容的空格:
for i in *; do [ "$i" != "${i##* }" ] && mv "$i" "${i##* }"; done
它只是使用参数扩展/子字符串提取来测试是否存在包含前导空格的文件或目录,如果存在,则将文件或目录移动到其名称而不带前导空格。您可以自由使用for
或while IFS=$'\n' read -r line
循环或find ...
来收集所有文件名并执行测试/移动。无论什么适合您的需求。
注意:如果在当前目录以外的目录上运行,则需要删除/添加path
组件的前/后测试以适应完整路径。