Suponha que eu tenha um arquivo de texto como
A1
A2
A3
A4
A7
A27
A31
A56
A100
A8
A11
e eu quero uma saída como esta onde A1 a A30 deve ser substituído por A1 e A31 a A100 deve ser substituído por A2, usando sed, awk ou loop for
A1
A1
A1
A1
A1
A1
A2
A2
A2
A1
A1
Eu sou novo nisso Por favor, ajude, obrigado e cumprimentos
eu tentei este
sed -i "s/(A1:A10)/A1/g" file.txt
Eu tentei com loop também Por favor, melhore minha codificação
for i in file.txt;
do cat "$i";
if ((A*>A10));
then
sed -e 's/A*/A1;
else sed -e 's/A*/A2;
fi
done
Olá umar Você pode tentar com este comando de uma linha (funciona em Bash e Zsh ) deixe-me explicar: eu itero sobre a saída do arquivo, mas aparo apenas os números (já que todas as entradas começam com 'A') e então, eu filtre cada linha por um bloco if-elif onde, se estiver no intervalo entre 1 e 30, ecoe "A1", mas se estiver entre 31 e 100, ecoe "A2", conforme solicitado na pergunta, mas tudo isso em uma linha.
Por favor, verifique e confirme se funciona, sou novo respondendo também. Cumprimentos.