Bash:如何删除所有以#开头的文本文件?

时间:2016-05-02 16:01:46

标签: bash

我试过

rm -r #* 

rm #*

但它只输出此消息: 用法:rm [-f | -i] [-dPRrvW]档案......        取消链接文件

问题是什么?

3 个答案:

答案 0 :(得分:4)

#是一个shell评论。你需要引用它,如下:

rm '#'*

请注意,哈希是引号,而glob不在引号之内。

答案 1 :(得分:3)

rm \#*

应该为你做的伎俩。记住#在shell中有特殊含义,它开始发表评论。

引用

  

以#开头的行(#!除外)是注释和   不会被执行。   在命令结束后也可能发生注释。

&安培;

  

逃脱[反斜杠]。单个字符的引用机制。

     

\ X转义字符X.这具有"引用" X,   相当于' X'。 \ \可用于引用"和',所以他们是   从字面上表达。

你有文件'file1'file2& 'file3,要删除它们,您可以使用:

rm \'file* #Comment : This deletes all the files starting with 'file

<强>参考: TLDP note on special characters

答案 2 :(得分:-2)

此命令将列出以#开头的所有文件,并将其提供给rm

ls . |grep "^#.*" |xargs rm -rf