[問題] 請問刪除指令...

看板Linux作者 (小建)時間15年前 (2010/11/30 12:46), 編輯推噓9(9017)
留言26則, 6人參與, 最新討論串1/2 (看更多)
小弟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的那些檔案我不想要刪除 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.40.77.57

11/30 12:55, , 1F
刪除/bin/Result下的檔案,跟你Report.txt有和關係?
11/30 12:55, 1F

11/30 12:56, , 2F
rm刪除你目錄下的檔案,不會刪到你檔案內容,只要你不
11/30 12:56, 2F

11/30 12:56, , 3F
刪掉Report.txt,裏面的內容當然不會變。
11/30 12:56, 3F

11/30 12:57, , 4F
還是說你想藉由Report.txt內的檔名去刪除目錄下的檔案?
11/30 12:57, 4F

11/30 12:58, , 5F
樓上激動了 他最後一句有說...
11/30 12:58, 5F

11/30 12:59, , 6F
我想要刪除/bin/Result/內..Data開頭的檔案...
11/30 12:59, 6F

11/30 12:59, , 7F
如果是這樣你的問題,跟你表達出來的完全不一樣,修文吧
11/30 12:59, 7F

11/30 13:00, , 8F
但是Report.txt裡面所寫的Data開頭的檔案不要刪除
11/30 13:00, 8F
※ 編輯: zchien 來自: 114.40.77.57 (11/30 13:02)

11/30 13:02, , 9F
是我的話我會cat Report.txt之後配合xargs 把檔案搬走
11/30 13:02, 9F

11/30 13:02, , 10F
然後再把這目錄整個刪除
11/30 13:02, 10F

11/30 13:10, , 11F
P大..可以寫清楚指令要怎麼寫嗎..麻煩妳了..謝謝
11/30 13:10, 11F

11/30 16:47, , 12F
rm -fr /bin/Result/Data* && grep -v 'Data' Report.txt >
11/30 16:47, 12F

11/30 16:48, , 13F
Report.txt.1
11/30 16:48, 13F

11/30 18:12, , 14F
rm -rf `ls Data* | grep -v `cat Report.txt``
11/30 18:12, 14F

11/30 20:12, , 15F
請問Hu大..你的寫法..grep後面的指令是...
11/30 20:12, 15F

11/30 20:13, , 16F
grep -v 'Data' Report.txt >Report.txt.1
11/30 20:13, 16F

11/30 20:14, , 17F
想請教為什麼需要 >Report.txt.1 這一串字?這什麼意思?
11/30 20:14, 17F

11/30 20:17, , 18F
把不是每行具有Data的字串輸入到新的txt檔
11/30 20:17, 18F

12/01 01:11, , 19F
find . -iname 'Data*' -exec rm -fr {} \;
12/01 01:11, 19F

12/01 01:11, , 20F
. 改成 /bin/Result
12/01 01:11, 20F

12/01 02:19, , 21F
阿 grep -v 比較強大 XD!!
12/01 02:19, 21F

12/01 02:19, , 22F
現在才看到 =.="
12/01 02:19, 22F

12/01 17:57, , 23F
請問za大..find . -iname 'Data*' -exec rm -fr {} \
12/01 17:57, 23F

12/01 17:57, , 24F
指的好像是..找到Data開頭的檔案..並且刪除..
12/01 17:57, 24F

12/01 17:58, , 25F
和我所寫...希望過濾掉..Report.txt感覺好像不太一樣
12/01 17:58, 25F

12/02 15:26, , 26F
哪個才是你想要的解法呢?
12/02 15:26, 26F
文章代碼(AID): #1Cz86BIB (Linux)
文章代碼(AID): #1Cz86BIB (Linux)