删除快捷方式中的所有类型的文件

时间:2018-04-09 03:27:26

标签: bash

我想删除.md .txt .py等文件,并完全保留目录。

使用ls测试以显示所有目录

    $ ls -d
    .
-d      Directories are listed as plain files (not searched recursively).

    $ ls -f
    .         ..        bar.txt a.txt, foo.md zoo bar foo

以未按顺序打印文件和目录。

如何删除文件。

2 个答案:

答案 0 :(得分:1)

你知道rm命令吗?

rm *.txt *.md *.py

答案 1 :(得分:-1)

完整命令

find . -type f -maxdepth 1 | grep "\.[txt|md|py]" | xargs rm -f {} \;

归档当前目录中的文件

find . -type f -maxdepth 1

管道grep,在[]

中以OR方式搜索文件扩展名
| grep "\.[txt|md|py]"

将grep输出传递给xargs,xargs接受来自grep的内容并在传递的每个参数上执行rm -f

| xargs rm -f {} \;

$ touch foo.bar
$ find . -type f -maxdepth 1 | grep "\.[txt|md|py]"
./testing.txt
./test.py
./readme.md
$ find . -type f -maxdepth 1 | grep "\.[txt|md|py]" | xargs rm -f {} \;
$ ls -alh
total 0
drwxr-xr-x   6 tcrowder  staff   192B Apr  8 23:02 .
drwxr-xr-x   3 tcrowder  staff    96B Apr  4 22:15 ..
drwxr-xr-x  11 tcrowder  staff   352B Apr  4 22:23 .git
drwxr-xr-x   7 tcrowder  staff   224B Apr  4 22:23 .idea
-rw-r--r--   1 tcrowder  staff     0B Apr  8 23:01 foo.bar
$