Prenez l'exemple: Comment puis-je supprimer le nom de fichier de la sortie de du -h p> J'ai essayé d'utiliser SED pour rechercher une chaîne ( le nom de fichier) et le remplacer par rien, mais cela n'a pas fonctionné (commande ci-dessous) p> pourrait souligner pourquoi cela ne fonctionnera pas, ou peut-être une meilleure façon de le faire ? p> considère p> Paul p> p>
7 Réponses :
du -h file_size.txt | cut -f1
Vous avez une mauvaise citation dans cette ligne de commande. Le plus simple est probablement: pour corriger votre ligne de commande: p> puisque votre message a un awk code> Tag: p>
ou du -h file_size.txt | sed 's / \ s +. * //' code>
@Tomalak a la bonne idée d'utiliser SED code> - sûr de taper le nom de fichier deux fois.
Woops, les citations simples où une gauche de mes ont une variable de $ plus tôt. Merci pour l'aide comme toujours
@ Paultop6: Si vous utilisez une variable, au lieu d'ouverture, de fermeture et de réouverture et de fermeture de guillemets simples, utilisez simplement des guillemets doubles tels que ceci: SED "S / $ $ {$} //" code>
@Dennis: Est-ce que cela fonctionne correctement, même si la variable contient des caractères Meta Regex?
Au fait, CUT CODE> option prend éventuellement un délimiteur (
-d code>), qui est l'onglet (
\ t code>) par défaut.
du code> sépare les colonnes à l'aide de l'onglet.
Sortie simple La première colonne. Voici la solution AWK
du -h test.txt | awk '{ print $1 }'
C'est un peu plus verbeux, mais dans tous les cas, c'est une autre façon de savoir ce que vous voulez:
du -h file_size.txt |while read x junk; do echo $x; done
@OP Si vos données contiennent des champs distincts, par exemple des espaces / des onglets, il est plus facile d'utiliser des outils tels que AWK / CUT pour les diviser sur ces champs par délimiteurs. L'utilisation de Regex (par exemple, SED) n'est pas nécessaire. Mieux vaut mieux utiliser la coquille.
Diverses manières p>
Votre commande d'origine aurait travaillé, sauf que vous incluez un espace dans les onglets SED Regexp et DU Sorties. P>
La sortie de du -h code> est [onglet] délimitée.