J'ai un fichier de noms de fichiers, et je dois être en mesure d'obtenir la taille de ces fichiers en utilisant bash. J'ai le script suivant qui fait cela, mais il imprime le nom de fichier et la taille sur différentes lignes, je préférerais le faire sur une seule ligne si possible.Attribuer stat | grep | awk à une variable dans bash
#!/bin/sh
filename="$1"
while read -r line
do
name=$line
vars=(`echo $name | tr '.' ' '`)
echo $name
stat -x $name | grep Size: | awk '{ print $2 }'
done < "$filename"
Je serais ravi d'avoir la forme suivante:
filename: $size
Comment puis-je faire cela? (j'utilise OSX donc la version un peu étrange de stat.)
Afficher nous échantillonner le contenu de "filename", Exemple de sortie de "stat -x $ name" sur le contenu de "filename" qui vous intéresse, et la sortie finale que vous voulez que le script produise étant donné cet exemple d'entrée. –
où utilisez-vous le résultat de votre 'vars = (...)'. Est-ce que cela doit être dans votre question? Bonne chance. – shellter