2010-04-14 102 views
0

即時通訊使用linux與gedit,它有一個奇妙的習慣,創建一個臨時文件,並在每個文件末尾都有一個波形符號。bash腳本問題,找到,由gedit創建的mv tilde文件

我嘗試使用以下將所有這些文件進行一次,以不同的文件夾:

find . -iname 「*.php~」 -exec mv {} /mydir \; 

然而,它現在給我的語法錯誤,如果它是通過每一個文件搜索和嘗試移動這段文字。我只想將所有以.php〜結尾的文件移動到另一個目錄。任何想法我怎麼做?

乾杯柯

+0

-iname?是一個錯字?除此之外,它對我來說很好(使用-name而不是-iname) – 2010-04-14 19:19:56

+0

iname是GNU find的選項。 – ghostdog74 2010-04-14 23:44:35

回答

2

嘗試使用下面的襯板:

for D in `find . -iname "*.php~"`; do mv ${D} /mydir; done 

以供將來參考,如果你去到編輯>首選項>編輯器選項卡,有複選框「之前創建文件的備份副本節省「這是負責創建代字號版本的人。

+0

很酷,謝謝你,有什麼辦法可以保留這些文件的文件結構嗎?它要求我更換。另外我很確定我以前能夠在鸚鵡螺中查看這些隱藏的文件,但由於某種原因,它不再顯示它們,很想知道如何再次顯示它們,thx :) – 2010-04-14 19:17:20

+0

抱歉,關閉我的頭頂我不確定保存結構的方式。 – 2010-04-14 19:38:14

+0

你可以使用'find'和'-exec'。此外,這將失敗的文件與空間。 – ghostdog74 2010-04-14 23:42:51

0

GNU找到

find . -iname "*.php~" -exec mv "{}" /mydir +; 

for file in *.php~ 
do 
echo mv "$file" /mydir 
done