J'ai créé un script ./abc
.
Je veux diviser la sortie en nouvelles lignes.
moncode :
#!/bin/bash
dir="$1"
echo -n "size of file:"
du -hba $dir | sort -n -r | tail -1
ma sortie est :
size of files: 20kb
/path/to/sport
Je veux que la sortie soit :
size of files: 20kb
/path/to/sport
Réponse acceptée :
Je considérerais quelque chose comme ceci :
du="$(du -hba "$dir" | sort -n -r | tail -1)"
printf "size of file: %snt%sn" "${du/$'t'*}" "${du#*$'t'}"
Le du
variable prend le résultat de votre recherche. Il est ensuite divisé en deux parties séparées par des tabulations pour le printf
déclaration, avec chacune des parties interpolées dans la chaîne de format avec %s
.
Cette construction doit gérer les noms de fichiers contenant des retours à la ligne, des tabulations et d'autres caractères inhabituels.