J'écris un petit script pour répertorier tous les répertoires partagés dans un système MACOS. MacOS a un outil simple appelé Et j'en ai besoin pour ressembler à ceci à la place p>
Pour que les espaces blancs doivent être échappés et le début de la ligne avec le chemin: et l'espace blanc doit être coupé. Je suis en train de jouer avec SED pendant des heures maintenant, mais je ne sais tout simplement pas assez de cela pour le faire tout en une seule commande. J'espère ajouter quelque chose à la fin de partage -l code> qui répertoriera tous les chemins une fois qu'il est combiné avec
partage -l | PATH GREP CODE> Le problème est que la sortie ressemble à ceci: p>
chemin: / Volumes / Stockage A / Fichier Server / Code> P>
/ volumes / stockage \ a / fichier \ serveur / code> p>
partage -l | PATH GREP CODE> P>
3 Réponses :
Vous pouvez utiliser ceci:
sharing -l | sed -En '/^path:/{ s/^path:[[:blank:]]*//; s/[[:blank:]]+/\\&/g; p;}'
Merci beaucoup, vous avez sauvé de nombreux poils sur ma tête de chair.
Je suis allé par titre de question qui mentionne juste des espaces de décapage au début.
Assez juste, j'ai modifié ma commande code> sed code> pour adresser également l'espace d'échappement.
Pourriez-vous s'il vous plaît essayer suivi.
sharing -l | awk '{$2=$2"\\";$3=$3"\\";sub(/^path: +/,"")} 1'
@Jordon Eunson, je pensais avoir besoin de sortie comme / volumes / stockage \ a / fichier \ serveur / code> que ma commande donne; N'est-ce pas le cas?
Si vous n'avez pas besoin des espaces blancs échappés: et si vous le faites: p>