shell命令,搜索文本找到字符串“3-1.1:1.0”出现的最后一行行号n,并搜索n+1行中是否存在字符串“sda”,如出现则打印“find sda”
时间: 2024-05-10 08:17:07 浏览: 106
shell命令 查询文件中字符串的出现次数
可以使用以下命令实现:
```
grep -n "3-1.1:1.0" file.txt | tail -n 1 | awk -F ':' '{print $1+1}' | xargs awk 'NR==n {if (/sda/) print "find sda"}' n={}
```
其中,`file.txt`为要搜索的文件名。解释如下:
1. `grep -n "3-1.1:1.0" file.txt`:在`file.txt`中搜索字符串“3-1.1:1.0”,并显示出每一行的行号。
2. `tail -n 1`:取出搜索结果中的最后一行。
3. `awk -F ':' '{print $1+1}'`:将最后一行的行号提取出来,并加1,得到下一行的行号。
4. `xargs awk 'NR==n {if (/sda/) print "find sda"}' n={}`:在文件中找到第n+1行,并搜索其中是否存在字符串“sda”,如出现则打印“find sda”。其中,`n={}`表示将前面得到的行号作为n的值传递给`awk`命令。
阅读全文