如何使用bash脚本查找字符串出现的行号?

例如,如果一个文件看起来像这样,

Hello I am Isaiah
This is a line of text.
This is another line of text.

我运行脚本寻找字符串"line",它将输出数字2,因为这是第一次出现.

推荐答案

假设您的示例只打印字符串第一次出现的行号,那么您可能正在寻找:

awk '/line/{ print NR; exit }' input-file

如果您确实想要所有出现的情况(例如,如果您的示例所需的输出实际上是"2\n3\n"),请忽略exit.

Linux相关问答推荐

pci_user_write_config_word在哪里实现?

记录终端输入和输出的 Bash 脚本

Perl/cpan: 找不到 JSON/Parse.pm @INC

使用awk命令将以:分隔的两个文件合并的方法

树莓派拒绝连接到瓶子服务器

Linux 如何将主机文件作为用户的输入并将其调用到脚本中

如何在守护进程中使用 popen() 和 pclose() 获取通过管道执行的 shell 命令的正确退出代码?

查找在特定日期从特定机器登录的所有用户

在 SLURM 作业(job)脚本中设置和传递字符串变量

如何使用 __attribute__((visibility("default")))?

使用 shell 脚本获取 MAC 地址

应用程序如何在运行时解析为不同版本的共享库?

关于 putenv() 和 setenv() 的问题

当命令太长时,命令行会自动覆盖

为什么这个命令会杀死我的 shell?

使用 linux 命令行 (bash) 从网络摄像头拍照

pthread_exit 与返回

Anaconda:禁用提示更改

Linux 守护进程

将默认 Python 版本从 2.4 更改为 2.6