請問刪除指令... - Linux

Table of Contents

※ 引述《zchien (小建)》之銘言:
: 小弟linux不太好..想請問一個問題
: 如果我有一個文件..叫做Report.txt
: ..........Report.txt內容如下.....
: Data1
: Data20
: Data33
: Data45
: Data50
: ------------------------------------
: 在/bin/Result/ 內有
: Report.txt和Data開頭的一些檔案: Data1,Data2,Data3...~Data1000
: 以及其他一些檔案...
: 我是否有辦法用rm的指令...
: 去刪除掉Data開頭的檔案....
: 但是Report.txt裡面Data開頭的檔案..我要留下來...
: 備註:
: 我想要刪除/bin/Result/內..Data開頭的檔案...
: 但是需 過濾掉Report.txt裡面所寫的Data開頭的檔案
: 因為Report.txt的那些檔案我不想要刪除

我不會一行指令搞定,我想的是這樣,假設你report.txt內容如下
Date 1
Date 2
Date 3
Date 4
Date 5

而實際檔案如下,我簡化寫

Date{1.2.6.7.8}

依照你的需求就是只想刪掉Date{6,7,8},保留Date{1,2}

我是這樣想先 ls /bin/Result/Date* > file.data

此時file.data內就是Data{1,2,6,7,8} //簡化寫

diff report.txt file.data | grep \> | cut -d" " -f2 > del.data

此時 del.data就是你要刪除的,檔案名稱

最後再 cat del.data | xargs rm

不知道能不能幫到你,不過你使用前最好先測試一下,

我有建了檔案測試過,你試試看雖然步驟好像有點煩雜,

希望能幫到你,如果有誤請其他大大指正。



--

All Comments

Iris avatarIris2010-12-05
謝謝你的幫忙..我在試試
Todd Johnson avatarTodd Johnson2010-12-08
不過你寫的這會有一個小問題..就是我資料夾內..
Valerie avatarValerie2010-12-09
你說的方法應該可以...我剛剛看錯了...謝謝