我在窗口頂部使用了cygwin。 我有一個Windows文件,其中包含空格的文件。我想擺脫字符之間的空格並重命名文件。消除文件名中的空格並重命名(cywgin)
IMG_4089 - Copy - Copy.JPG
IMG_4089 - Copy.JPG
IMG_4092 - Copy - Copy.JPG
IMG_4092 - Copy (2).JPG
IMG_4092 - Copy.JPG
IMG_4093 - Copy - Copy.JPG
IMG_4093 - Copy (2).JPG
IMG_4093 - Copy.JPG
通常在bash mv命令在Linux
$ cat get_rid_of_spaces.sh
#!/bin/bash
IFS=$'\n' ;
for i in *
do
jay=$i ;
jay2=$(echo $i | sed -e "s/ //g")
echo $jay2 "--->" $jay
mv $jay2 $jay
sleep .5 ;
done
不過,我不斷收到這些錯誤的工作。
IMG_4089-Copy-Copy.JPG ---> IMG_4089 - Copy - Copy.JPG
mv: cannot stat 'IMG_4089-Copy-Copy.JPG': No such file or directory
IMG_4089-Copy.JPG ---> IMG_4089 - Copy.JPG
mv: cannot stat 'IMG_4089-Copy.JPG': No such file or directory
IMG_4092-Copy-Copy.JPG ---> IMG_4092 - Copy - Copy.JPG
mv: cannot stat 'IMG_4092-Copy-Copy.JPG': No such file or directory
IMG_4092-Copy(2).JPG ---> IMG_4092 - Copy (2).JPG
mv: cannot stat 'IMG_4092-Copy(2).JPG': No such file or directory
IMG_4092-Copy.JPG ---> IMG_4092 - Copy.JPG
mv: cannot stat 'IMG_4092-Copy.JPG': No such file or directory
IMG_4093-Copy-Copy.JPG ---> IMG_4093 - Copy - Copy.JPG
mv: cannot stat 'IMG_4093-Copy-Copy.JPG': No such file or directory
IMG_4093-Copy(2).JPG ---> IMG_4093 - Copy (2).JPG
mv: cannot stat 'IMG_4093-Copy(2).JPG': No such file or directory
IMG_4093-Copy.JPG ---> IMG_4093 - Copy.JPG
mv: cannot stat 'IMG_4093-Copy.JPG': No such file or directory
引用你的變量 – 123
你試圖使用新的文件名作爲'mv'的第一個參數,但它必須是第二個...?另外,你必須用空格引用文件名。 –
考慮在通過http://shellcheck.net/運行你的代碼之前,先問問題。 –