私はウィンドウの上に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'の最初の引数として新しいファイル名を使用しようとしていますが、それは2番目のものでなければなりません...?また、スペースでファイル名を引用する必要があります。 –
ここで質問をする前に、http://shellcheck.net/でコードを実行することをお勧めします。 –