使用grep find查找文件内容

1 2 月

经常需要查找一些文件内容,在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,

可以看到显示了文件名,行号以及匹配的字符串,非常直观好用

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注