我在Linux中有一个文件,我想在该文件中显示包含特定字符串的行,该怎么做?
答案 0 :(得分:52)
通常的方法是使用grep
grep 'pattern' file
答案 1 :(得分:6)
grep系列命令(包括egrep,fgrep)是解决此问题的常用方法。
$ grep pattern filename
如果您正在搜索源代码,那么ack可能是更好的选择。它会自动搜索子目录并避免你通常不会搜索的文件(对象,SCM目录等)。
答案 2 :(得分:5)
的/ tmp / MYFILE
first line text
wanted text
other text
命令
$ grep -n "wanted text" /tmp/myfile | awk -F ":" '{print $1}'
2
答案 3 :(得分:1)
除了grep
之外,您还可以使用其他实用程序,例如awk
或sed
以下是一些示例。假设您要在名为is
的文件中搜索字符串GPL
。
您的示例文件
user@linux:~$ cat -n GPL
1 The GNU General Public License is a free, copyleft license for
2 The licenses for most software and other practical works are designed
3 the GNU General Public License is intended to guarantee your freedom to
4 GNU General Public License for most of our software;
user@linux:~$
1。 grep
user@linux:~$ grep is GPL
The GNU General Public License is a free, copyleft license for
the GNU General Public License is intended to guarantee your freedom to
user@linux:~$
2。 awk
user@linux:~$ awk /is/ GPL
The GNU General Public License is a free, copyleft license for
the GNU General Public License is intended to guarantee your freedom to
user@linux:~$
3。 sed
user@linux:~$ sed -n '/is/p' GPL
The GNU General Public License is a free, copyleft license for
the GNU General Public License is intended to guarantee your freedom to
user@linux:~$
希望这会有所帮助
答案 4 :(得分:1)
将长格式的队列作业信息写入文本文件
qstat -f > queue.txt
Grep职位名称
grep 'Job_Name' queue.txt