Linux中使用grep命令搜索文件名及文件内容的方法
当你从不止一个的文件中搜索时,默认它将显示文件名:
代码如下:
grep "word" 文件名
grep root /etc/*
示例输出:
代码如下:
/etc/bash.bashrc: See "man sudo_root" for details.
/etc/crontab:17 * * * * root cd / run-parts --report /etc/cron.hourly
/etc/crontab:25 6 * * * root test -x /usr/sbin/anacron || ( cd / run-parts --report /etc/cron.daily )
/etc/crontab:47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / run-parts --report /etc/cron.weekly )
/etc/crontab:52 6 1 * * root test -x /usr/sbin/anacron || ( cd / run-parts --report /etc/cron.monthly )
/etc/group:root:x:0:
grep: /etc/gshadow: Permission denied
/etc/logrotate.conf: create 0664 root utmp
/etc/logrotate.conf: create 0660 root utmp
每行开始的第一个部分是文件名(如:/etc/crontab、/etc/group)。使用 -l 选项可以只显示文件名:
代码如下:
grep -l "string" filename
grep -l root /etc/*
示例输出:
代码如下:
/etc/aliases
/etc/arpwatch.conf
grep: /etc/at.deny: Permission denied
/etc/bash.bashrc
/etc/bash_completion
/etc/ca-certificates.conf
/etc/crontab
/etc/group
你也可以逆转输出;使用 -L 选项来输出那些不匹配的文件的文件名:
代码如下:
grep -L "word" filename
grep -L root /etc/*
示例输出:
代码如下:
/etc/apm
/etc/apparmor
/etc/apparmor.d
/etc/apport
/etc/apt
/etc/avahi
/etc/bash_completion.d
/etc/bindresvport.blacklist
/etc/blkid.conf
/etc/bluetooth
/etc/bogofilter.cf
/etc/bonobo-activation
/etc/brlapi.key
根据文件内容查找文件
输入以下命令:
代码如下:
grep 'string' *.txt
grep 'main(' *.c
grep '#include' *.c
grep 'getChar*' *.c
grep -i 'ultra' *.conf
grep -iR 'ultra' *.conf
其中
-i : 忽略模式(匹配字符串 valid、 VALID、 ValID )和输入文件(匹配 file.c FILE.c FILE.C)的大小写。
-R : 递归读取每个目录下的所有文件。
高亮匹配到的模式
在搜索大量文件的时候你可以轻松地高亮模式:
代码如下:
$ grep --color=auto -iR 'getChar();' *.c
为查找到的模式显示文件名和行号
你也许需要显示文件名和行号:
代码如下:
$ grep --color=auto -iRnH 'getChar();' *.c
其中,
-n : 在输出的每行前面添加以 1 开始的行号。
-H : 为每个匹配打印文件名。要搜索多个文件时这是默认选项。(LCTT 译注:-h 选项强制隐藏文件名;另外 -l 和 -L 选项用于仅显示匹配/不匹配的文件名,而 -H 和 -h用于控制在显示匹配行前显示/不显示文件名,注意区分。)
代码如下:
$grep --color=auto -nH 'DIR' *
输出样例:
你也可以使用 find 命令:
代码如下:
$ find . -name "*.c" -print | xargs grep "main("
Linux操作系统文件访问权限详解
一直以root登陆使用linux的人来说很少有权限被拒这种概念,但某些时候又深受权限拒绝困扰。 知道为什么很多程序中需要使用getuid(),setuid()?为什么以普通权限登陆的用户不能进入\/root,为什么在\/目录下执行ls -l后可以显示root的信息,但ls \/root -al却是权限不够?为什么有些文件夹可以继续创建文件,但就是不能ls?
Linux:这个正则里面的1是什么意思呢?费解
不多余 这是sed中的用法,前面用小括号括起来的内容,后面可以根据出现的次序依次按\\1, \\2, \\3等来原样引用。比如:替换 123abc 为 45abc 你只要替换前面的数字123,后面的abc希望保持原样不动。这时,就可以将abc用括号括起来,后面用\\1来引用,就可以免去重写一遍的麻烦。echo "123abc" | sed ...
编写程序,实现在Linux环境用程序实现ls-l的命令?求指点迷津,急!_百度...
include <stdio.h>#include <sys\/types.h>#include <dirent.h>#include <sys\/stat.h>#include <string.h>void do_ls(char[]);void dostat(char *);void show_file_info( char *, struct stat *);void mode_to_letters( int , char[] );char * uid_to_name( uid_t );char * ...
求助在linux下用c语言取得双网卡的网关地址
求助在linux下用c语言取得双网卡的网关地址 我来答 2个回答 #热议# 已婚女性就应该承担家里大部分家务吗?sdower1937 2016-02-24 · TA获得超过231个赞 知道小有建树答主 回答量:92 采纳率:0% 帮助的人:31.4万 我也去答题访问个人页 关注 展开全部 多给我来点财富值哦: [code=C\/C++...
linux(ylmf os4.0)如何安装显卡驱动
你那驱动下来是什么格式的,长什么样?1. 如果是rpm格式的话,直接用命令rpm -ivh 文件名 就装了;2. 如果是什么run格式的话,直接 .\/文件名 执行安装就行。PS:肯定装显卡驱动不能有图形界面,你先用init 3重启了机器,在命令行窗口下安装。成功了,以后执行 startx 启动图形界面就可以了...
linux下载的简单问题
Greece: ftp.ntua.gr: FTP HTTP Greece: ftp.softnet.tuc.gr: FTP HTTP Hong Kong: ftp.hk.debian.org: FTP HTTP Croatia: ftp.hr.debian.org: FTP HTTP Croatia: ftp.irb.hr: FTP HTTP Croatia: iso.linux.hr: FTP HTTP Hungary: ftp.hu.debian.org: FTP HTTP Hungary: linux.inf.elte...
tftp在Linux与windows下互传文件失败
我也遇到了,把防火墙全关了,杀软也关掉
如何把XP系统换成Linux系统?
这个问题问的比较奇怪。电脑可以安装linux,windows7,xp等等。一般个人用的电脑都是要有windows系统的。而为了学习,自己也会在电脑上安装linux,当然一般是使用虚拟机的方式安装。这样在windows下就可以去使用,而且切换方便。当然还有一种情况,就是直接硬盘安装linux,启动的时候会有linux和windows的系统...
想把XP换成Linux系统
以BT3系统为例,先下载从NTFS硬盘完美启动BT3优化终结2.0版,网上有很多的,将下载后的文件解压缩,将bt3.xpm, FONTS,GRBT33个文件放到C盘根目录下 然后下载BT3 将boot和BT3两个文件放到C盘,D盘,E盘等其中的一个想安装的盘中 点击“我的电脑—属性—高级—启动和故障修复设置—编辑”打开boot.ini...
怎样获得linux版ads2014的license
5.把破解文件包下的license文件复制到某个盘下,并把license文件用记事本打开,把里面的FFFFFFFFFFFF用你刚才查到的MAC地址替换,并保存。6.找到此路径D:Program FilesAgilentEEsof_License_Toolsin 就是 第三步覆盖的路径,在里面找到aglmmgr.exe文件,双击运行。注:我是装在D盘,如果你装的别的盘请自行...
邗念复方: 如果是用vi打开文件后,在命令行下输入“/关键字” 如果是在没有打开文件的前提就用"cat 文件名 | grep "关键字""
龙安区15715524108: Linux下Grep命令的详细使用方法? - ?
邗念复方: 在linux中grep命令是非常有用的,它和管道(|)配合使用,非常强大,用于搜索文本文件.如果想要在几个文本文件中查找一字符串,可以使用'grep'命令.'grep'在文本中搜索指定的字符串. 假设您正在'/usr/src/linux/Documentation'目...
龙安区15715524108: linux的grep查询命令 - ?
邗念复方: grep默认只能识别基本的正则表达式,如果需要高级的,需要这样:grep -E 'A.*B|B.*A' filename 可以找到符合要求的,或者使用awk:awk '/A/&&/B/' filename
龙安区15715524108: Linux中进行字符串查找,使用( )grep( )命令. - ?
邗念复方: "*.*" | xargs grep "wl0505" >>/home/filename *.*是文件名和扩展名,>>是把结果重定向到后面路径的文件中去,不在终端上显示了. 回答者: ...
龙安区15715524108: linux中用grep查找一个以大写字母开头中间两个任意然后数字命名的文件 - ?
邗念复方: ls|grep '^[A-Z]..[0-9]\+' 这样即可. 任意要以前两个开始, 后面数字包含至少一个数字 如果后面数字结尾的. ls|grep '^[A-Z]..[0-9]\+$'
龙安区15715524108: linux grep命令怎么用 - ?
邗念复方: grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. Unix的grep家族包括grep、egrep和fgrep.egrep和...
龙安区15715524108: linux系统用grep命令搜索指定日期修改过的文件 - ?
邗念复方: 一般都是用find来找,用grep和ls,试试看:ls -alR --full-time * | grep " 2008-"...
龙安区15715524108: 如何在Linux下查找文件内容包含某个特定字符串的文件 - ?
邗念复方: 概述使用grep可以查找包含指定字符串的文件 步骤详解 格式:grep “要查找的字符串” 文件名 例子:grep "192.168.0.1" /etc 文件名可以使用基本正则表达式(BRE),例如, 查找test目录下的所有文件,是否包含www.dutycode.com字...
龙安区15715524108: 怎么Linux下用grep命令去查找doc文档里面的某个关键词或关键字? - ?
邗念复方: grep好像只能搜索纯文本文件.如果要搜索doc中的文本,可以下载一个antiword工具.antiword test.doc | grep '关键字'
龙安区15715524108: linux用grep在文件中查找字符串并显示字符串在文件中的行号? - ?
邗念复方: 如果你想在当前目录下 查找"hello,world!"字符串,可以这样:grep -rn "hello,world!" ././ : 表示路径为当前目录.-r 是递归查找-n 是显示行号