经常需要查找一些文件内容,在Windows中,我常用Search and Replace这个软件,到了Linux下,发现,原来使用系统自带的命令就可以完成。
grep本身就可以查找多个文件,通过find将文件名传入即可。
grep -n "g_convert" $(find . -name "*.c")
通过这个命令,在.这个目录下,所有c为后缀的文件中,包含g_convert的文件,在我这显示结果如下:
./gedit-document-loader.c:695: base_stream = g_converter_input_stream_new (loader->priv->stream,
./gedit-document-output-stream.c:274: res = g_converter_convert (G_CONVERTER (converter),
./gedit-document-output-stream.c:404: g_converter_reset (G_CONVERTER (conv));
./gedit-document-output-stream.c:734: conv_text = g_convert_with_iconv (text,
./gedit-document-saver.c:754: base_stream = g_converter_output_stream_new (G_OUTPUT_STREAM (file_stream),
./gedit-document-saver.c:777: saver->priv->stream = g_converter_output_stream_new (base_stream,
可以看到显示了文件名,行号以及匹配的字符串,非常直观好用