Try*_*ain 3 regex bash awk grep sed
我正在寻找一种只有在第二列返回正数值时才返回一行的方法.在下面的例子中......
PID Status Label
- 0 com.apple.CoreAuthentication.daemon
937 0 com.wacom.TabletDriver.126696
- 0 com.apple.quicklook
- 0 com.apple.parentalcontrols.check
715 48 com.apple.Finder
- 0 com.apple.PackageKit.InstallStatus
- 0 com.apple.FontWorker
786 -44 com.apple.bird
- 0 com.apple.familycontrols.useragent
- 0 com.apple.aos.migrate
- 0 com.apple.universalaccessAuthWarn
839 -44 com.apple.nsurlsessiond
Run Code Online (Sandbox Code Playgroud)
我想要一个命令导致:
PID Status Label
715 48 com.apple.Finder
Run Code Online (Sandbox Code Playgroud)
我一直在试图通过AWK,SED,GREP,RegEx等找到一种方法来管理我的头发.我无法得到理想的结果.
我尝试过这样的事情:
launchctl list | awk '{for (i=1;i<=NF;i++) if ($i>=1) print $i} ' 但是结果不再在表格中,并且以不可读的格式返回,以及当我只想在状态/ $ 2列下获得结果时,我从列PID/$ 1获得正数.
从开始launchctl list | awk '{ print $2 }'但如果我通过GREP/SED之类的其他任何东西管道我显然无法获得其他缺少的列,因为数据已被剥离.我不是专家,也许我只是错过了关键流程 通过| 管道命令得到我想要的,所以我要求任何帮助或专业知识,以帮助指出我正确的方向.
你可以使用这个awk命令:
launchctl list | awk 'NR==1 || $2>0'
PID Status Label
715 48 com.apple.Finder
Run Code Online (Sandbox Code Playgroud)
要在表格中格式化,请使用:
launchctl list | awk 'NR==1 || $2>0' | column -t
PID Status Label
715 48 com.apple.Finder
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60 次 |
| 最近记录: |