Je veux vérifier l'état des fichiers de ma copie de travail SVN, puis supprimez-les par SVN si elles ont été supprimées manuellement (elles peuvent donc être engagées).
J'ai découvert que trouve correctement les fichiers que j'ai supprimés manuellement, je suis mon cas c'est des travaux \ run_testss_on_master. Mais quand j'essaie de supprimer le répertoire à l'aide de: p> i get erreur: p> On dirait que le répertoire manque backslashes. Y a-t-il un moyen de travailler autour de cela? P> p>
3 Réponses :
Le suivant awk code> testera toutes les lignes de la sortie code> svn code> pour voir si elle peut supprimer une marque d'exclamation suivie par des espaces du début de cette ligne. Si tel est le cas, il effectuera
svn rm code> sur la chaîne résultante.
svn status 'C:\Tools\Jenkins' |awk 'sub(/^! */, ""){system("svn rm " $0)}'
Quand j'effectue la commande, je suis AWK: SUB (/ ^! * /, ") Awk: ^ String non défini (pointant vers" dans l'expression
Dans une sous-expression pour être spécifique
Vous pouvez faire deux choses pour améliorer votre commande: remplacer le J'ai compris que le problème est avec le grep code> +
sed code> combinaison avec un seul appel à
sed code> (Merci à -n code> et
p code> drapeaux) et utilisez des guides simples dans
sed code>. Utilisation de
echo code> à la place de
svn code>, ce serait quelque chose comme ceci:
Xargs code> une partie de la commande. Vous devez utiliser l'option
-0 code>: p>
>>> echo '!C C:\\Tools\\Jenkins\\' | sed -nr 's/!C *//gp' | xargs -0 echo
C:\\Tools\\Jenkins\\
Je reçois une erreur "C: \ Program Files (x86) \ gnuwin32 \ bin \ xargs.exe: echo: Aucun fichier ou répertoire de ce type"
J'ai essayé de résoudre le problème en tapant "SVN Statut" C: \\ Outils \\ Jenkins \\ "| grep" ^ \! "| Sed.exe" S / ^ \! * // g "| xargs -0 svn --force rm" et i get "svn: E020024: Erreur lors de la résolution du cas de 'C: \ Tools \ Jenkins \ Jobs \ Run_TestSS_on_Master" :(
@Biba Je n'ai pas accès à une machine Windows, mais toujours, essayez d'utiliser des guillemets simples ' code> au lieu de doubles
" code>.
J'ai fait une solution de contournement de la question, basée sur les solutions suggérées:
for /F "usebackq tokens=*" %%A in (file.txt) do (svn remove "%%A")