À l'aide de la commande grep et cut séparateur de commande (dans le shell bash scripting UNIX) - et une sorte de “renversement” il?
J'ai donc un fichier avec le texte:
puddle2_1557936:/home/rogers.williams/folderz/puddle2
Je veux utiliser la commande grep
grep puddle2_1557936
Mélangé avec la commande cut (ou une autre commande si nécessaire) afficher uniquement cette partie:
/home/rogers.williams/folderz/puddle2
Jusqu'à présent, je sais que si cela
grep puddle2_1557936 | cut -d ":" -f1
puis il affichera
puddle2_1557936
Donc, il y a de toute façon, en quelque sorte, "inverse" le délimiteur de commande cut?
REMARQUE: La solution doit commencer avec grep puddle2_15579636
.
- minimes solution est d'utiliser
-f2
aveccut
. Btw, pourquoi doit-on commencer avecgrep puddle2_15579636
, sera quelque chose de mauvais se produire si elle ne l'est pas? - Merci beaucoup! Ne savais pas que le correctif a été faciles...haha. Aussi, il a dû commencer avec grep puddle2_15579636 parce que je suis en train d'écrire un long script, et à ce point dans le script, la seule information disponible serait que! Son genre de difficile à expliquer, sauf si vous voyez l'ensemble du projet!
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas besoin de changer le séparateur pour afficher la partie droite de la chaîne avec
cut
.La
-f
commutateur de lacut
de commande est le n-IÈME élément étant séparé par votre délimiteur ::
, de sorte que vous pouvez simplement taper :L'autre des solutions (de l'adapter un peu) si vous voulez le plaisir :
À l'aide de grep :
ou encore avec de la regardez autour de regex
ou avec perl :
ou à l'aide de ruby (merci à glenn jackman)
ou avec awk :
ou avec python :
ou en utilisant uniquement bash :
ou à l'aide de js dans un shell :
ou à l'aide de php dans un shell :
python
etruby
?? +1awk
- nous vraiment besoin d'un gros-F
?awk -F':' '{print $2}'
awk -F '/puddle2_1557936/ {print $2}'
en faitruby -F: -ane '/puddle2_1557936/ and puts $F[1]'