segunda-feira, 22 de junho de 2020

dpkg problema PATH

dpkg: aviso: 'ldconfig' não foi encontrado em PATH ou não é executável
dpkg: aviso: 'start-stop-daemon' não foi encontrado em PATH ou não é executável

para resolver o problema

comando:
# export PATH=$PATH:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

OBS: para não ter que entrar como superusuárioe e ter que repetir sempre o processo utilize o comando

# echo "PATH="/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/games:/usr/local/games"" >> /etc/environment 

quinta-feira, 11 de junho de 2020

shell script read - aceitar apenas numeros

#!/bin/bash
LIMITA='^[0-9.]+$'
read -p "Digite numero" NUMERO
if ! [[ $NUMERO =~ $LIMITA ]] ; then
   echo "error: Not a number" >&2; exit 1
fi

terça-feira, 9 de junho de 2020

Somar colunas

Somar o valor de todas colunas

[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[B]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1

Comando
awk -F '|' '{sum+=$5}END{print "Soma total: " sum}' file

caso queira ignorar algum valor adicine # na frente do numero

Somar apenas colunas que começam com a [A]

[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[B]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1

Comando
awk -F '|' '$1 ~ /[A]/ {sum += $5} END {print "[A] Soma total : " sum}' file

Somar as ABC

[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[B]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[C]   |   Conteúdo   |   00/00/0000   |   ?   |   1

Comandp
awk -F '|' '$1 ~ /[ABC]/ {sum += $5} END {print "[ABC] Soma total : " sum}' file

Somar duas colunas

[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[B]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[C]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[D]   |   Contéudo   |   1

Comando
awk -F '|' '$1 ~ /[ABCD]/ {sum += $5+$3} END {print "[ABCD] Soma total : " sum}' file

OBS: perceba que no exemplo a coluna D é a terceira enquanto as demais colunas permanecem sendo a quinta


---

Somar apenas conteúdo de um arquivo

1
1
1
1
1

Comando
echo $(cut -f3 file | tr '\n' +)0 | bc

numerar linhas

Comando
awk '{print NR-1 "," $0}' file