grep -v "^\s*#" | sed "s/^\s*\S\+\s\+\S\+\s\+\(\S\+\).*/\1/g"
时间: 2023-09-19 09:11:22 浏览: 38
这是一个命令行管道,包含两个命令:grep 和 sed。
grep -v "^\s*#" 的作用是过滤掉以 # 开头的行,也就是去掉注释。
sed "s/^\s*\S\+\s\+\S\+\s\+\(\S\+\).*/\1/g" 的作用是对每一行执行替换操作,将行中第三个非空格单词提取出来。具体实现是通过正则表达式匹配每一行,将第三个非空格单词的内容提取出来。
所以最终的效果是将文本中去掉注释后的每一行中第三个非空格单词提取出来,输出到标准输出。
相关问题
NUM1=$(cat $1|sort|uniq|sed -r '/^\s*$|^#/d'|wc -l)
NUM1=$(cat $1|sort|uniq|sed -r '/^\s*$|^#/d'|wc -l)这行代码的作用是统计文件$1中的唯一行数,排除空行和以#开头的注释行。具体的步骤如下:
1. 使用cat命令将文件内容输出到标准输出。
2. 使用sort命令对文件内容进行排序。
3. 使用uniq命令去除重复的行。
4. 使用sed命令使用正则表达式'/^\s*$|^#/d'删除空行和以#开头的注释行。
5. 使用wc命令统计行数,并将结果保存在变量NUM1中。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [常用的Shell 分析服务器日志命令,请收藏好哦!](https://blog.csdn.net/weixin_44275820/article/details/116484835)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [linux shell脚本,常用linux命令,find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk](https://blog.csdn.net/m0_37542524/article/details/94360834)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
#!/bin/sh #HOME=/ BIN=PLCXPro stoprun() { PID=`ps -ef --cols=200|grep -v stopapp |grep "$1" | awk '{print $2 " " $8}'|sed -e '/grep/d' -e 's/^ *//' -e 's/ .*//'` if [ -n "$PID" ] then echo "$1 id is $PID, kill normal process!" kill -3 $PID else echo "$1 id $PID is down! it's over!" fi } stoprunstart() { PID=`ps -ef --cols=200|grep -v stopapp |grep "$1"|grep start | awk '{print $2 " " $8}'|sed -e '/grep/d' -e 's/^ *//' -e 's/ .*//'` if [ -n "$PID" ] then echo "$1 id is $PID, kill normal process!" kill -9 $PID else echo "$1 id $PID is down! it's over!" fi } runtest() { PID=`ps -ef --cols=200|grep -v stopapp |grep "$1" | awk '{print $2 " " $8}'|sed -e '/grep/d' -e 's/^ *//' -e 's/ .*//'` if [ -n "$PID" ] then ## echo $1 id is $PID, sys normal process! sleep 30 else echo $1 is down! reload the process! date echo nohup $BIN & nohup ./$BIN > /dev/null & fi }怎么开启或者重启这个PLCXPro
可以运行以下命令来重启 PLCXPro 进程:
```
./stopapp.sh PLCXPro
```
该命令会执行 stoprun 函数,查找并终止名为 PLCXPro 的进程。
然后再执行以下命令来启动 PLCXPro 进程:
```
./runapp.sh PLCXPro
```
该命令会执行 runtest 函数,查找名为 PLCXPro 的进程是否已经存在,若不存在则启动 PLCXPro 进程。