2017-12-05 17 views
0

内のすべてのコンテンツは、私は、ディレクトリ構造を持っている: - 私は、パブリックフォルダおよびそのすべての内容(さらにフォルダを維持したいは一つのフォルダ以外linuxディレクトリ内のすべてのフォルダとファイルを削除して、そのフォルダ

/usr/testing/member/ 
    ---> public--->folder1--->file1 
      \----> file2 
    ---> folder3:- contains files and folders 
    ---> folder4:- contains files and folders 
    ---> several files 

その中のファイル)を削除したいが、ディレクトリ/ usr/testing/member /の下にあるすべてのものを削除したい。しかし、それはメンバーフォルダが削除されないことを意味します。 これを達成するために使用できるシェルスクリプトやコマンドは、私が述べた通りですか?さらに以下に行かなくても、そこにすべてのファイルとディレクトリを見つけ、カレントディレクトリ(「」)と、任意のファイルを除外し、/usr/testing/membercd

(cd /usr/testing/member; find . -maxdepth 1 \(! -name . -a ! -name public \) -exec echo rm -fr {} +) 

です:

+0

-v(exclude)オプションを利用することによってrm/usr/testing/member/しかしpublic内のすべてのものを渡していますあなたがしようとした?私たちのほとんどはここであなたのクラフトを改善するのに役立ちますが、短期間の無償のプログラミングスタッフとしての行動はあまり幸せではありません。 [how-to-ask](http://stackoverflow.com/help/how-to-ask)を見て、これまでの作業を[MCVE](http://stackoverflow.com/help/mcve)で見せてください。 、あなたが期待していた結果とあなたが得た結果、そしてあなたがそれを理解するのを助けるでしょう。 – ghoti

答えて

1

は、ここでそれを行うための一つの方法をですまたは "public"という名前のディレクトリに移動し、見つかったファイルのコマンドを実行します。

これは、削除されるものを印刷します。 正常に表示されていることを確認し、echoをドロップします。私は仕事を行います以下だと思い

+0

@Ashley確かに。私の更新された記事を見てください。 – janos

+0

ありがとうJanos これは魔法のように働いた – Ashley

0

$ cd /usr/testing/member/ 
$ rm -rf $(ls | grep -v "public") 

説明:

我々が持っているものgrep

+0

しかし、これは/ usr/testing/member/ – Ashley

+1

内のファイルを削除しません申し訳ありませんが、私はかなり確信しています。 "/ usr/testing/member/"" public "ディレクトリとそのサブコンテンツを除きます。 特にファイルを削除しない理由はありません。 –

+0

ええ、サンプルディレクトリ構造を作成して自分自身を試すことができます。public以外のすべてのフォルダとその内容は削除されますが、/ usr/testing/memberにあるファイルは削除されません – Ashley

関連する問題