2016-09-23 7 views
0

foldername=$(echo 'A A_2016' | cut -f 1 -d '_') mv "$filename" $foldername/ foldernameは 'A 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

しかし、私は文字列からフォルダ名を取得するので、フォルダ名にスペースが含まれているかどうかわからない –

+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 
関連する問題