[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Re: Variaveis em Bash
From: |
Hugo Cisneiros |
Subject: |
Re: [shell-script] Re: Variaveis em Bash |
Date: |
Tue, 13 Jun 2000 10:41:21 -0300 |
On Tue, 13 Jun 2000, you wrote:
> Eu gostaria de pegar apenas o tamanho do arquivo e o nome do mesmo, e fazer o
> append *em uma unica linha*, com esse resultado:
>
> 99148 lfs_ptbr.txt
>
> Mas o cut só me permite manipular uma listagem por vez... vejam:
>
> [thiago@zuleica thiago]$ ls -lu lfs_ptbr.txt | cut -d ' ' -f 10-14 -c 19-
> cut: only one type of list may be specified
>
> É possivel manipular duas listas com a mesma output?
Hmmm...
----------
#!/bin/bash
for x in *
do
CAMPO1=`ls -lu $x | tr '_' -d [:blank:] -s | cut -d ' ' -f 5`
CAMPO2=`ls -lu $x | tr '_' -d [:blank:] -s | cut -d ' ' -f 9`
echo "$CAMPO1 $CAMPO2" >> resultados
done
-----------
Veja se funciona, nao esqueca de remover certos aliases que deixam os nomes dos
arquivos com caracteres especiais para indicar o tipo (como / para diretorio, *
para executavel, etc).
O que fiz aqui foi remover aquele monte de espacos em branco que deixa o ls -l
'bonitinho', fiz isso com o comando tr. Sem isso cada arquivo teria um espaco
diferente, e os campos separados pelo espaco (cut -d ' ') nao ficariam iguais,
entao o delimitador ficou igual para todos, nao importando o tamanho das
strings impressas pelo ls -l.
> --
> See ya,
> Thiago Pimentel | Stampede Linux Foundation
[]'s
Hugo