2013-03-11 41 views
1

我有一個目錄中的幾個文件在Linux中看起來像:與多個單詞創建從文件名的目錄

John Smith-data.txt 
Peter Walker-address.txt 
... 

我想一個腳本來讀取這些文件名,併爲文件名中的每個名稱的一個目錄,即是

John Smith 
Peter Walker 

如果我做

for name in `ls | awk -F - '{print $1}'`; do mkdir $name; done 

創建以下目錄

John 
Smith 
Peter 
Walker 

for name in `ls | awk -F - '{print $1}'`; do mkdir "$name"; done 

我得到相同的結果

然後,做

for name in "`ls | awk -F - '{print $1}'"`; do mkdir "$name"; done 

creeates只有一個目錄名爲:

John Smith Peter Walker 

Finaly,如果我進入

for name in "`ls | awk -F - '{print $1}'"`; do mkdir $name; done 

我再次得到

John 
Smith 
Peter 
Walker 

任何想法?如何使用報價""

在此先感謝

澤維爾

回答

4

這不是完全清楚你想要什麼,但也許是:

for i in *.txt; do mkdir "${i%-*}"; done 
+0

是的!有用 !非常感謝。 – user2158381 2013-03-13 11:36:32