【转】grep 搜索时忽略 .svn目录 & Linux去掉文本中的~M
如果是用svn管理的代码,每个文件夹下都有一个.svn的隐藏文件夹,包含对代码版本的控制信息,日积月累会越来越庞大。所有如果只是默认搜索的话,很多搜索结果都是svn目录下的,对我们来说,是没有价值的内容;而且还会耗费很多时间。
grep的--exclude-dir=参数就是为了排除某个目录的,即不包含等号后面的目录,所以我们可以利用此参数去掉.svn的隐藏目录。
--exclude-dir=参数的用法如下:
IfyouhaveGNUGrep,itshouldworklikethis:
grep--exclude-dir=".svn"
例如:查找当前目录以及子目录下所有包含"test"字符串的代码并打印行号
grep-nr--exclude-dir=".svn"test*
或者
grep-nr--exclude-dir=\.svntest*
--exclude-dir=后面要排除的目录用双引号括起来或者直接接目录名都可以,但是特殊字符必须用转义符表示,例如".svn"中的"."。
如果每次都输入--exclude-dir=参数,是不是很慢还容易出错,降低效率呢?
不过不用担心,我们可以把--exclude-dir=参数通过加入配置文件~/.bashrc(这是bash的当前用户配置文件)的方法来简化操作,提高效率。
在~/.bashrc文件的末尾添加以下命令:
exportGREP_OPTIONS="--exclude-dir=\.svn"
然后保存,执行source~/.bashrc或者.~/.bashrc,使修改起作用。
--------------------------------------------------------------
转自:
相信很多人都遇到过将Windows或者MacOS下的文本文件传输到Linux后出现烦人的^M现象,这是因为Windows,MacOS,Linux使用不同的换行符造成的。Windows下使用'\r\n',MacOS下使用'\r',而Linux下使用'\n'。进行适当的转换就可以去掉这烦人的^M符号。
如果你从一台FTPServer(Windows)下download一个文本文件,而没有使用text传输,就会产生这个问题。
进行转换的工具是dos2unix和mac2unix。该工具由dos2unix包提供,如果你的机器下没有这两个工具,请使用:
Java代码
[lgao@lgaodata]$sudoyuminstalldos2unix
进行安装。
假设需要进行转换的文本文件叫:text.txt,那么请使用指令:
Java代码
[lgao@lgaodata]$dos2unixtext.txt
dos2unix:convertingfiletext.txttoUnixformat...
[lgao@lgaodata]$mac2unixtext.txt
mac2unix:convertingfiletext.txttoUnixformat...
进行相应的转换。
相关推荐
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf