Outra maneira de remover o nome do arquivo de wc
é usar wc -c <file1
. Isso evita o requisito de um segundo processo cat
.
digamos que eu tenha um arquivo chamado file1
$ a=$(wc -c file1)
$ echo $a
233 file1
agora como eu faria isso
$ b=$(expr $a % 2)
$ echo $b
1
Eu acho que o arquivo1 em wc -c fez esse travamento?
Eu usaria algo como:
if [ $(( $(wc -c < your-filehere ) % 2)) -eq 1 ]
then
echo file has odd number of bytes
else
echo file has even number of bytes
fi
Um caminho a seguir:
a=$(cat file1 | wc -c)
isso não gera o nome do arquivo e seu expr
funcionará.
Tags shell