J'ai un exemple de fichier / etc / passwd comme celui-ci:
tom:x:1000:1000:Work:/home/tom:/bin/bash
george:x:1000:1000:Work:/home/george:/bin/bash
bla:x:1000:1000:Work:/home/bla:/bin/bash
boo:x:1000:1000:Work:/home/boo:/bin/bash
bee:x:1000:1000:Work:/root/list:/bin/bash
J'essaie de répertorier tous les utilisateurs avec un dossier de départ dans /home/
.
J'ai écrit
cat ~/Desktop/e.txt |awk -F ":" '{if ($6 ~/^/home/) print $1;}'
où e.txt est le texte que j'ai copié ici.
Je comprends qu'il y a un problème avec la barre oblique inverse qui est un caractère d'échappement, mais comment puis-je le corriger pour pouvoir les répertorier sur une seule ligne de commande?
grep home e.txt | cut -d ":" -f 1
. Félicitations pour votre prix UUOC. Cependant, ce n'est pas une bonne solution. Que faire s'il existe un service "homebackups" qui s'exécute sous un utilisateur distinct nommé d'après le démon? C'est un faux positif.
cat > tool
variante de ces lignes de commande car elle peut améliorer la clarté en maintenant le flux de gauche à droite de l'entrée-traitement-sortie de la chaîne de tuyaux. Il est moins efficace, mais presque toujours de manière minimale. Il est également très évident d'ajouter une barre de progression lorsque cela est pertinent et utile lors de l'exécution interactive (il suffit de le remplacer cat
par pv
s'il est installé).
cat
et de diriger vers des outils commeawk
oused
ou similaires, car ils peuvent être donnés le nom de fichier comme argument.