Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用grep bash打印文本所在的行_Bash_Grep - Fatal编程技术网

使用grep bash打印文本所在的行

使用grep bash打印文本所在的行,bash,grep,Bash,Grep,我想grep一个文件中的某些文本,并只输出它出现的行号。例如: File.text: firstsentance secondsentance thirdsentance 如果我请求第二个句子,我将收到2的输出 我不相信grep本身有这样的功能,但是你可以写: grep -n secondsentance File.text | sed 's/:.*//' 要从中删除所有内容,请执行以下操作: 请注意,这将不会单独具有与grep相同的退出代码。我不认为grep本身具有这样的功能,但您可以编写

我想grep一个文件中的某些文本,并只输出它出现的行号。例如:

File.text:

firstsentance
secondsentance
thirdsentance

如果我请求第二个句子,我将收到2的输出

我不相信
grep
本身有这样的功能,但是你可以写:

grep -n secondsentance File.text | sed 's/:.*//'
要从
中删除所有内容,请执行以下操作:


请注意,这将不会单独具有与
grep
相同的退出代码。

我不认为
grep
本身具有这样的功能,但您可以编写:

grep -n secondsentance File.text | sed 's/:.*//'
要从
中删除所有内容,请执行以下操作:


请注意,这将不会单独具有与
grep
相同的退出代码。

这将执行您想要的操作:

sed -n '/secondsentence/=' File.text
Perl:


这将满足您的要求:

sed -n '/secondsentence/=' File.text
Perl:

还有一个awk解决方案

awk '/secondsentance/ { print NR }' file
还有一个awk解决方案

awk '/secondsentance/ { print NR }' file

尝试学习AWK:

awk '/secondsentance/ { print NR }' file.text

尝试学习AWK:

awk '/secondsentance/ { print NR }' file.text

file.text中的每个单词都应该在自己的行中,而不是在同一行中。file.text中的每个单词都应该在自己的行中,而不是在同一行中。我的答案非常相似,但使用了
cut
,例如:
。|cut-d:-f1
,所以+1我的答案非常相似,但使用了
cut
,比如:
…|切割-d:-f1
,因此+1我喜欢这样,因为选项
=
没有被广泛使用,除了避免使用管道之外,+1回答很好。我还想提一下,如果一个人只想要第一场比赛,你可以在比赛找到后退出
sed-n'/second句子/{=;q}'
我喜欢这样,因为选项
=
没有被广泛使用,除了避免使用管道之外,+1回答得很好。我还想提一下,如果一个人只想要第一场比赛,你可以在比赛找到后退出
sed-n'/secondstatement/{=;q}'