天天看點

删除目錄中不包含xxx字元創的檔案

a.txt,b.txt,c.txt檔案内容如下

root@oldboy test$cat a.txt

sada

xxx

qjieinnxxx

root@oldboy test$cat b.txt

dsfsgxxx

sadsfsge

root@oldboy test$cat c.txt

adsf

asfgegr

afagsd

法一

1

<code>for</code> <code>file</code> <code>in</code> <code>$(</code><code>ls</code><code>);</code><code>do</code> <code>! </code><code>grep</code> <code>-lq xxx $</code><code>file</code> <code>&amp;&amp; </code><code>rm</code> <code>$</code><code>file</code><code>;</code><code>done</code>

法二

<code>for</code> <code>file</code> <code>in</code> <code>$(</code><code>ls</code><code>);</code><code>do</code> <code>! </code><code>grep</code> <code>-wq xxx $</code><code>file</code> <code>&amp;&amp; </code><code>echo</code> <code>$</code><code>file</code><code>;</code><code>done</code>

法三

2

3

4

5

6

7

8

9

10

<code>#!/bin/bash</code>

<code>for</code> <code>file</code> <code>in</code> <code>$(</code><code>ls</code> <code>*.txt)</code>

<code> </code><code>do</code>

<code>   </code><code>grep</code> <code>-wq xxx $</code><code>file</code>

<code>   </code><code>if</code> <code>[ $? -</code><code>eq</code> <code>1 ]; </code><code>then</code>

<code>      </code><code>rm</code> <code>-f $</code><code>file</code>

<code>   </code><code>else</code>

<code>      </code><code>continue</code>

<code>   </code><code>fi</code>

<code> </code><code>done</code>

執行腳本即把c.txt删除。

root@oldboy test$ls

a.txt  b.txt  c.txt  test.sh

root@oldboy test$sh test.sh 

a.txt  b.txt  test.sh

本文轉自 xoyabc 51CTO部落格,原文連結:http://blog.51cto.com/xoyabc/1678281,如需轉載請自行聯系原作者