Keo*_*Keo 1 command-line bash perl
是否有更优雅的 perl 命令?
ps -ejH | grep 'bash' | head -1 | perl -E ' if( <> =~ /(bash)/) {say $1}'
Run Code Online (Sandbox Code Playgroud)
我只想要echo
PID,它是第一组字符。
打开 Perl autosplit
。它将行拆分为数组@F
(在空格上),因此$F[0]
包含第一列。
ps -ejH | perl -a -E 'if (/bash/) {say $F[0]; last;}'
Run Code Online (Sandbox Code Playgroud)
你也可以去掉grep
andhead
命令,因为grepping是 Perl 可以做的很好的事情。
该head
可到呼叫被替换last
它打破了隐含while(<>){...}
在实行循环-a
开关。在较旧的 Perls(v5.20 之前)上,您可能还需要-n
switch,但现在-a
暗示-n
.
虽然我喜欢 Perl,但我会用以下方法做这个特别的awk
:
ps -ejH | awk '/bash/ {print $1; exit}'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
217 次 |
最近记录: |