我在 Linux 中有一个文件,我想在该文件中显示包含特定字符串的行,该怎么做?
问问题
203575 次
5 回答
106
执行此操作的常用方法是 with grep
,它使用正则表达式模式来匹配行:
grep 'pattern' file
将输出与模式匹配的每一行。如果您只想搜索固定字符串,请使用grep -F 'pattern' file
.
于 2012-08-03T14:32:28.410 回答
14
此外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:~$
希望这可以帮助
于 2018-10-25T07:05:48.833 回答
9
/tmp/我的文件
first line text
wanted text
other text
命令
$ grep -n "wanted text" /tmp/myfile | awk -F ":" '{print $1}'
2
切换到 grep 会在-n
任何匹配的行前面加上行号(后跟:
),而第二个命令使用冒号作为列分隔符 ( -F ":"
) 并打印出任何行的第一列。最终结果是匹配的行号列表。
于 2016-06-23T05:09:13.683 回答
1
将长格式的队列作业信息写入文本文件
qstat -f > queue.txt
Grep 作业名称
grep 'Job_Name' queue.txt
于 2020-07-29T09:45:10.703 回答