|
From: | Ivan lopes |
Subject: | Re: [shell-script] Parâmetro -d com TAB do comando cut |
Date: | Thu, 23 Feb 2017 16:21:17 -0300 |
mude o separador para o caracter que vc escolher e assim tudo funciona ... mesmo com arquivo com nomes em branco ...Em 22 de fevereiro de 2017 17:10, Tiago Peczenyj address@hidden [shell-script] <address@hidden.br > escreveu:OlaEste erro é bem comum: supor uma dada configuração e na pratica não ser bem assim.No caso alem do espaço em branco e tab existem outros carácteres "invisíveis" (ex carácteres de escape) que vão atrapalhar uma analise mais simples. Ou quando stderr e stdin são capturados ao mesmo tempo e vc pode ter algo inesperado no meio de uma linha (num arquivo grande pode passar desapercebido)Outro exemplo é quando o próprio nome de arquivo tem um espaço. Ou carácteres acentuados em algum encoding tinhoso.awk é mais esperto com relação a ler dados "tabulados". Seja paranoico e verifique tudo: se o arquivo existe, se a linha está no formato que vc espera, etc.Às vezes não conseguimos analisar 100% do arquivo. Vale imprimir dizendo "não entendi essa linha: ..."O script ficará complexo. Mas se o que vc está fazendo pode trazer prejuízos se mal feito então vale a pena (não faça como eu q apaguei diretorios errados recursivamente ate o / )Hoje sou pragmático ao shell: prefiro usar a linha de comando ou pequenos (10-20 linhas) scripts. Mais que isso eu sei que terei problemas no longo prazo, de alguma forma (portabilidade, etc)Boa sorteEm qua, 22 de fev de 2017 às 20:35, Alfredo Casanova address@hidden [shell-script] <address@hidden.br > escreveu:faça um$ cat -vet teste.outassim vc poderá ver se o arquivo está, de fato, separado por TABS. Eu acredito que, por ser uma saída de ls, não está.Na saída do cat -vet o tab é representado por ^I
On Thu, Feb 16, 2017 at 7:26 PM Wagner Brasileiro wagnerbrasileirocardoso@yahoo.com.br [shell-script] <address@hidden.br > wrote:Boa tarde pessoal, sei que parece meio patética minha dúvida e estou meio enferrujado em Bash, mas já revisei o histórico do grupo e pesquisei na internet e todos são categóricos em afirmar que se quer fazer cut baseado nos delimitadores TABs é só ocultar a opção "-d" pois o TAB é o delimitador natural do Bash, porém não funciona como eu esperava... Já tentei direto com a saída do comando ou enviando a saíta para um arquivo e depois a enviando ao cut e ele simplesmente é indiferente, não visualizo onde estou errando:root@debian-backup-teste:/home/wagner# cat teste.out| cut -f6
total 128
drwxr-xr-x 20 wagner wagner 4096 Fev 16 13:01 .
drwxr-xr-x 3 root root 4096 Fev 14 12:47 ..
drwxr-xr-x 2 wagner wagner 4096 Fev 14 12:51 Área de trabalho
-rw------- 1 wagner wagner 40 Fev 15 12:44 .bash_history
-rw-r--r-- 1 wagner wagner 220 Fev 14 12:47 .bash_logout
-rw-r--r-- 1 wagner wagner 3515 Fev 14 12:47 .bashrc
drwx------ 8 wagner wagner 4096 Fev 14 15:29 .cache
drwx------ 12 wagner wagner 4096 Fev 15 12:39 .config
drwx------ 3 wagner wagner 4096 Fev 14 12:51 .dbusMinha idéia é pegar o 6⁰ campo, para isso usei o cut -f6 e nada... Ele mostra exatamente como era o arquivo.
Sei que deve ser possível resolver com print ou awk, mas agora queria entender esse erro...Att,Wagner Brasileiro--
[Prev in Thread] Current Thread [Next in Thread]
- Parâmetro -d com TAB do comando cut, wagnerbrasileirocardoso, 2017/02/16
- Re: [shell-script] Parâmetro -d com TAB do comando cut, Jonathan Lessa, 2017/02/16
- Re: [shell-script] Parâmetro -d com TAB do comando cut, Hudson Figueredo, 2017/02/16
- Re: [shell-script] Parâmetro -d com TAB do comando cut, itamarnet, 2017/02/16
- Re: [shell-script] Parâmetro -d com TAB do comando cut, Wagner Brasileiro, 2017/02/16
- Re: [shell-script] Parâmetro -d com TAB do comando cut, phfbettega, 2017/02/16
- Parâmetro -d com TAB do comando cut, Wagner Brasileiro, 2017/02/16
- Re: [shell-script] Parâmetro -d com TAB do comando cut, Alfredo Casanova, 2017/02/22
- Re: [shell-script] Parâmetro -d com TAB do comando cut, Tiago Peczenyj, 2017/02/22
- Re: [shell-script] Parâmetro -d com TAB do comando cut, Ivan lopes, 2017/02/23
- Re: [shell-script] Parâmetro -d com TAB do comando cut, Ivan lopes <=
- Prev by Date: Re: [shell-script] Parâmetro -d com TAB do comando cut
- Next by Date: Verificar processo
- Previous by thread: Re: [shell-script] Parâmetro -d com TAB do comando cut
- Next by thread: Verificar processo
- Index(es):