Bash 删除从输出到定义变量的所有内容

Bash 删除从输出到定义变量的所有内容,bash,perl,awk,sed,grep,Bash,Perl,Awk,Sed,Grep,从ps命令中,我想定义一些变量,在这种情况下,定义“PS1”,然后删除所有变量 例: 预期产出: ./PS1 PS01 3 在我看来,这是错误的: sed 's/^$/ "PS1"/g' 或者相关的我不知道如何完成它。ps-ef | grep-ips1 | awk'{for(I=9;Ips-ef | grep-ips1 | awk'{for(I=9;I您可以使用pgrep来简化: ps -ef | perl -lne 'print $1 if /(\S* PS1 .*)/xi' pgre

从ps命令中,我想定义一些变量,在这种情况下,定义“PS1”,然后删除所有变量

例:

预期产出:

./PS1 PS01 3
在我看来,这是错误的:

sed 's/^$/ "PS1"/g'

或者相关的我不知道如何完成它。

ps-ef | grep-ips1 | awk'{for(I=9;I
ps-ef | grep-ips1 | awk'{for(I=9;I您可以使用
pgrep
来简化:

ps -ef | perl -lne 'print $1 if /(\S* PS1 .*)/xi'
 pgrep -fl PS1 | cut -d ' ' -f2-

您可以使用
pgrep
简化:

 pgrep -fl PS1 | cut -d ' ' -f2-

您可以使用
ps
的自定义格式仅输出所需内容,因此只需筛选列表中所需的命令:

ps e --format %a | grep PS1
或者更好地使用
pgrep
,如果可以的话,可以这样做:

pgrep -fl PS1 | cut -f2- -d' '

您可以使用
ps
的自定义格式仅输出所需内容,因此只需筛选列表中所需的命令:

ps e --format %a | grep PS1
或者更好地使用
pgrep
,如果可以的话,可以这样做:

pgrep -fl PS1 | cut -f2- -d' '
你可以用这个

ps -eo cmd | grep 'PS1'
你可以用这个

ps -eo cmd | grep 'PS1'

一些选项。这些选项都可以解析您的命令。更好的方法是对
ps
使用
pgrep
o
选项,但如果您确实想解析:

  • 格雷普自己

    ps -ef | grep -Po 'PS1.*'
    
  • perl

    ps -ef | grep -i PS1 | perl -pe 's/.*(?=PS1)//' 
    
  • 塞德

    ps -ef | sed 's/.*\(PS1.*\)/\1/' 
    

  • 一些选项。这些选项都可以解析您的命令。更好的方法是对
    ps
    使用
    pgrep
    o
    选项,但如果您确实想解析:

  • 格雷普自己

    ps -ef | grep -Po 'PS1.*'
    
  • perl

    ps -ef | grep -i PS1 | perl -pe 's/.*(?=PS1)//' 
    
  • 塞德

    ps -ef | sed 's/.*\(PS1.*\)/\1/' 
    

  • ps-ef并不总是返回相同的结构(日期和日期取决于多长时间)。PS1也可以在进程的用户名或参数中找到。PS1可以从多个方式/路径启动)。对于这种情况,我们可以假设什么?ps-ef不总是返回相同的结构(日期和日期取决于多长时间).PS1也可以在进程的用户名或参数中找到。PS1可以从多种方式/路径启动)。对于这种情况,我们可以假设什么?