J'ai dix fichiers texte (délimités par des tabulations, 200K lignes). Mon intention est de rechercher des caractères [,], | et remplacez-les par a, o, u, respectivement. Des conseils comment faire cela en utilisant le script batch Windows ou Powershell?Powershell ou Batch: recherche et remplacement de caractères
3
A
Répondre
11
Cela devrait prendre soin de lui, en utilisant Powershell. Cela peut être fait avec cmd.exe
trucs et quelques exécutables Windows intégrés, mais ce serait beaucoup plus laid et plus difficile à comprendre.
Il va lire dans certains fichiers, et sur chaque ligne:
- remplacer
[
aveca
- remplacer
]
aveco
- remplacer
|
avecu
Les échappements sont nécessaires depuis [
, ]
, et |
sont tous des caractères spéciaux dans powershell, et le retour arrière `
est utilisé pour les commandes de retour à la ligne. Si vous souhaitez traiter une liste de fichiers, vous pouvez configurer un tableau pour ce faire et parcourir le tableau.
$filenames = @("/path/to/File1.txt", "file2.txt", "file3.txt")
foreach ($file in $filenames) {
$outfile = "$file" + ".out"
Get-Content $file | Foreach-object {
$_ -replace '\[', 'a' `
-replace '\]', 'o' `
-replace '\|', 'u'
} | Set-Content $outfile
}
Questions connexes
- 1. Script VBScript, Batch ou PowerShell?
- 2. javascript simple Recherche et remplacement
- 3. regex pour la recherche et le remplacement
- 4. Recherche de plusieurs lignes recouvrant le texte et remplacement à l'aide de PowerShell
- 5. Problème de recherche et de remplacement du fichier de commandes
- 6. Windows Recherche par lots et remplacement Question
- 7. fichier batch caractères génériques
- 8. script batch caractères latins
- 9. Recherche et remplacement de données XML
- 10. sed recherche de mots entiers et remplacement
- 11. Recherche simple et remplacement de l'expression régulière
- 12. Recherche de chaîne et remplacement par la même chaîne de caractères
- 13. Recherche de méthodes de remplacement
- 14. SQL Exécution d'une recherche de recherche/remplacement
- 15. remplacement chaîne dans le fichier batch
- 16. Comment appeler un script batch depuis Powershell?
- 17. Eclipse, recherche d'expression régulière et remplacement
- 18. Vim: Recherche et remplacement regex ne
- 19. Recherche et remplacement à l'aide d'expressions régulières
- 20. Recherche et remplacement de SQL Server dans le champ TEXTE
- 21. Recherche et remplacement de sous-image de l'image
- 22. recherche-remplacement vim question
- 23. Recherche textuelle et remplacement dans une colonne XML
- 24. Remplacement des caractères spéciaux de la sortie
- 25. Lucene recherche et caractères de soulignement
- 26. VBA. Tableau pour la recherche ou le remplacement
- 27. Recherche avancée et remplacement/Extension de texte/Macros
- 28. Remplacement de jeu de caractères avec preg_replace
- 29. Appel cmdlets PowerShell de fichier batch de Windows
- 30. javascript remplacement des caractères spéciaux
Ok, merci beaucoup! – jjoras
Vous ne devriez vraiment pas utiliser le() autour du Get-Content à moins que vous ayez absolument besoin d'éditer le fichier en place - toutes les lignes seront collectées avant le remplacement, ce qui sera très cher avec les gros fichiers – Jaykul
@Jaykul, merci, je vais mettre à jour mon message. – birryree