[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Comando sed para obter somente nome do shell sem os argumentos
From: |
Info Suporte - Rodrigo Nery |
Subject: |
Comando sed para obter somente nome do shell sem os argumentos |
Date: |
Fri, 16 Nov 2007 11:32:46 -0300 |
Olá pessoal,
Estou montando uma expressão regular, porém a mesma não está
funcionando a contento. Vejam os exemplos abaixo da saída do comando "ps":
root 28051 1 0 15:11:59 ? 0:00 sh
/util/shell/suporte_001.sh arg01 arg02
user1 6075 6074 0 11:01:00 ? 0:00 /usr/bin/sh
/util/shell/suporte_002.sh
user2 6075 6074 0 11:01:00 ? 0:00 /bin/sh
/util/shell/suporte_003.sh 001 002 003
Preciso obter o nome do shell que está rodando, para isso tenho
direciono o comando "ps -ef | grep <nome do shell> | grep -v grep" para um
arquivo temporário e executo os comandos "sed" abaixo:
cat /tmp/temp01 | sed 's;^.* \(/.*\) [A-Za-z0-9].*$;\1;g' | sed
's;^.* \(/.*\)$;\1;g'
A saída é:
/util/shell/suporte_001.sh arg01
/util/shell/suporte_002.sh
/util/shell/suporte_003.sh 001 002
E deveria ser:
/util/shell/suporte_001.sh
/util/shell/suporte_002.sh
/util/shell/suporte_003.sh
O que posso fazer para obter a saída desejada (somente o nome do
shell, eliminando todos os argumentos, se houver)?
Obrigado a todos!
Rodrigo
- Comando sed para obter somente nome do shell sem os argumentos,
Info Suporte - Rodrigo Nery <=