|grep 想查找两个字段怎么写
时间: 2024-01-18 15:22:51 浏览: 29
如果你想在文本中查找同时包含两个字段的行,可以使用以下命令:
```
grep "字段1.*字段2\|字段2.*字段1" 文件名
```
其中,"字段1"和"字段2"是你要查找的两个字段,"文件名"是你要查找的文件名。这个命令会输出包含两个字段的行。"\|"表示逻辑"或",即要求同时包含两个字段。".*"表示匹配0个或多个任意字符。
相关问题
get_display_id() { local focus=$(dumpsys window | grep "mCurrentFocus" | tail -n 1 | awk '{print $NF}' | cut -d'}' -f1) local displays=$(dumpsys window | grep display | grep 'imeInputTarget') echo "$displays" | grep "$focus" | cut -d'#' -f2 } 我想让他输出成0 com.ktcp.video/com.ktcp.video.activity.detail.DetailCoverActivity
这段代码是 Shell 脚本,主要作用是获取当前焦点窗口所在的显示器 ID。如果你想让它输出 "0 com.ktcp.video/com.ktcp.video.activity.detail.DetailCoverActivity",需要对其中一些部分进行修改。
首先,你需要明确 "0 com.ktcp.video/com.ktcp.video.activity.detail.DetailCoverActivity" 是什么意思。这个字符串由两部分组成,以空格分隔开来。第一部分是显示器 ID,第二部分是应用程序的包名和活动名。
在这个脚本中,显示器 ID 是通过以下命令获取的:
```
echo "$displays" | grep "$focus" | cut -d'#' -f2
```
其中,$displays 是通过 dumpsys window 命令获取的所有显示器信息,$focus 是通过 grep 命令过滤出来的当前焦点窗口名。这个命令的作用是在 $displays 中查找包含 $focus 的那一行,并提取出其中的第二个字段(即显示器 ID)。
如果你想直接输出 "0 com.ktcp.video/com.ktcp.video.activity.detail.DetailCoverActivity",可以将上面的命令替换为:
```
echo "0 com.ktcp.video/com.ktcp.video.activity.detail.DetailCoverActivity"
```
这样就可以直接输出这个字符串了。不过,这样做有可能会导致你的脚本失去了一些实用性,因为你无法再根据当前焦点窗口获取对应的显示器 ID 了。
project_pid=`ps -ef | grep "${running_command}" | grep "${data_command}" | awk -F ' ' '{print $2}'`
这是一个 Bash 脚本中的命令。该命令的作用是通过执行 ps 命令查找正在运行的进程,并将进程 ID 赋值给 project_pid 变量。具体的命令逻辑如下:
1. 执行 ps -ef 命令,该命令可以列出系统中所有的进程信息。
2. 使用管道符将 ps 的输出传递给 grep "${running_command}" 命令。其中,${running_command} 是一个变量,表示需要查找的进程的关键词。grep 命令会过滤掉 ps 输出中不包含该关键词的行。
3. 再次使用管道符将 grep 的输出传递给 grep "${data_command}" 命令。其中,${data_command} 是另一个变量,表示需要查找的进程的关键词。这个命令会进一步过滤掉包含该关键词的行,最终只留下包含两个关键词的行。
4. 使用 awk 命令从过滤后的结果中提取出进程 ID。-F ' ' 表示使用空格作为分隔符,'{print $2}' 表示输出第二个字段,即进程 ID。
5. 最终将进程 ID 赋值给 project_pid 变量。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)