Enviado em 10/11/2021 - 09:47h
Resposta: O terminal não exibe nada quando os comandos são executados com sucesso, alguma mensagem só será apresentada caso haja erro no comando digitado.
Enviado em 10/11/2021 - 09:47h
Enviado em 10/11/2021 - 09:51h
Enviado em 10/11/2021 - 14:50h
Enviado em 10/11/2021 - 16:54h
Enviado em 10/11/2021 - 17:26h
Enviado em 10/11/2021 - 17:43h
Enviado em 10/11/2021 - 20:12h
Enviado em 11/11/2021 - 17:31h
cat ltr.txt
ABCDEFGHIJKLMNOPQRSTUVWXYZ
sed -r 's/[A-Z]/-ALTERADO-/' ltr.txt ;echo "Exit Code:$?"
-ALTERADO-BCDEFGHIJKLMNOPQRSTUVWXYZ
Exit Code:0
sed -r 's/[0-9]/-ALTERADO-/' ltr.txt ;echo "Exit Code:$?"
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Exit Code:0
awk '$0~/^[0-9]+$/{print $0}' ltr.txt;echo "Exit Code:$?"
Exit Code:0
awk '$0~/^[A-Z]+$/{print $0}' ltr.txt;echo "Exit Code:$?"
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Exit Code:0
sed -r 's/[A-Z]/-ALTERADO-/' ltr.txt && echo ok || echo not
-ALTERADO-BCDEFGHIJKLMNOPQRSTUVWXYZ
ok
sed -r 's/[0-9]/-ALTERADO-/' ltr.txt && echo ok || echo not
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ok
sed -r 's/[A-Z]+/-ALTERADO-/' ltr.txt && echo ok || echo not
-ALTERADO-
ok
sed -r 's/[0-9]+/-ALTERADO-/' ltr.txt && echo ok || echo not
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ok
awk '$0~/^[0-9]+$/{print $0}' ltr.txt && echo ok || echo not
ok
awk '$0~/^[A-Z]+$/{print $0}' ltr.txt && echo ok || echo not
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ok
No Grep o comportamento é diferente:
grep -E '^[0-9]+' ltr.txt && echo ok || echo not
not
grep -E '^[A-Z]+' ltr.txt && echo ok || echo not
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ok
Enviado em 11/11/2021 - 18:33h
cat ltr.txt
ABCDEFGHIJKLMNOPQRSTUVWXYZ
sed -r 's/[A-Z]/-ALTERADO-/' ltr.txt ;echo "Exit Code:$?"
-ALTERADO-BCDEFGHIJKLMNOPQRSTUVWXYZ
Exit Code:0
sed -r 's/[0-9]/-ALTERADO-/' ltr.txt ;echo "Exit Code:$?"
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Exit Code:0
awk '$0~/^[0-9]+$/{print $0}' ltr.txt;echo "Exit Code:$?"
Exit Code:0
awk '$0~/^[A-Z]+$/{print $0}' ltr.txt;echo "Exit Code:$?"
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Exit Code:0
sed -r 's/[A-Z]/-ALTERADO-/' ltr.txt && echo ok || echo not
-ALTERADO-BCDEFGHIJKLMNOPQRSTUVWXYZ
ok
sed -r 's/[0-9]/-ALTERADO-/' ltr.txt && echo ok || echo not
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ok
sed -r 's/[A-Z]+/-ALTERADO-/' ltr.txt && echo ok || echo not
-ALTERADO-
ok
sed -r 's/[0-9]+/-ALTERADO-/' ltr.txt && echo ok || echo not
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ok
awk '$0~/^[0-9]+$/{print $0}' ltr.txt && echo ok || echo not
ok
awk '$0~/^[A-Z]+$/{print $0}' ltr.txt && echo ok || echo not
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ok
No Grep o comportamento é diferente:
grep -E '^[0-9]+' ltr.txt && echo ok || echo not
not
grep -E '^[A-Z]+' ltr.txt && echo ok || echo not
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ok
$ cat ltr.txt
ABCDEFGHIJKLMNOPQRSTUVWXYZ
# Arquivo existe, o comando foi executado e expressão corresponde:
sed -r 's/[A-Z]/-ALTERADO-/' ltr.txt ;echo "Exit Code:$?"
-ALTERADO-BCDEFGHIJKLMNOPQRSTUVWXYZ
Exit Code:0
# Arquivo não existe, comando não foi executado:
$ sed -r 's/[A-Z]/-ALTERADO-/' ARQUIVO_NÃO_EXISTE.txt ;echo "Exit Code:$?"
sed: não foi possível ler ARQUIVO_NÃO_EXISTE.txt: Arquivo ou diretório inexistente
Exit Code:2
# Arquivo existe, comando executado mas expressão não correspondeu:
$ sed -r 's/[0-9]/-ALTERADO-/' ltr.txt ;echo "Exit Code:$?"
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Exit Code:0
# Arquivo existe, o comando foi executado e expressão corresponde:
$ awk '{print $0}' ltr.txt ;echo "Exit Code:$?"
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Exit Code:0
# Arquivo não existe, comando não foi executado:
$ awk '{print $0}' ARQUIVO_NÃO_EXISTE.txt ;echo "Exit Code:$?"
awk: fatal: não foi possível abrir arquivo "ARQUIVO_NÃO_EXISTE.txt" para leitura: Arquivo ou diretório inexistente
Exit Code:2
# Como tinha dito podemos definir um status de saída com a instrução 'exit' interna do AWK.
$ awk '{print $0} END {exit 23}' ltr.txt ;echo "Exit Code:$?"
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Exit Code:23
Enviado em 11/11/2021 - 19:56h
Enviado em 11/11/2021 - 20:09h
Entre na sua conta para responder.