2016-09-23 21 views
0

foldername=$(echo 'A A_2016' | cut -f 1 -d '_') mv "$filename" $foldername/ Ordnername ist 'A A' gibt es einen Raum, so wie man damit umgeht. Danke.Wie man die Pfadvariable mit Leerzeichen behandelt

+2

Es ist unklar, was Sie fragen. Warum können Sie nicht einfach 'mv" $ filename "A \ A_2016 /' oder 'mv" $ filename "A \ A /'? – arkascha

+0

Ich bekomme eine Zeichenfolge von irgendwo, dann teilen Sie es, um den Ordnernamen zu bekommen, so dass ich den Ordnernamen nicht kenne, bevor ich es teile, kann nicht Ihren Weg zu beheben. –

Antwort

0

Verwenden Sie einfach Anführungszeichen um die Variablen:

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

gut !!!! Antwort von dir Chinese: 么 么 哒! –

0

hat gerade einen Rückschrägstrich wie folgt: lassen Sie Ihre Ordnername ist „Neuer Ordner“ und Pfad ist usr/etc/neuer Ordner

mv aa.txt usr/etc/new\ folder 

, wenn Sie Variable als

mv aa.txt "$FOLDERNAME/" 
+0

Aber ich bekomme den Ordnernamen aus einem String, damit ich nicht weiß, ob der Ordnername Leerzeichen enthält. Für mich ist das Blackbox –

+0

füge "" mit variablem Namen als "$ Ordnername/" –

+0

Vielen Dank. –

0

verwenden verwenden Sie haben Backslash von white-space gefolgt zu verwenden. Zum Beispiel müssen Sie A\ A_2016 schreiben.

0

Beispieldatei erstellt:

touch 'A A_2016' 
ls -1 
A A_2016 

Namensprüfung der Beispieldatei:

echo ${file} 
A A_2016 

bewegen sie, nachdem sie mit variabler Ausdehnung hacken.

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