Welche Sprache sollte ich für die Manipulation von Dateien und Zeichenfolgen verwenden?Wie macht man das in PowerShell? Oder: Welche Sprache für die Manipulation von Dateien und Zeichenfolgen?
Dies scheint objektiv, aber wirklich nicht, denke ich. Es gibt viel zu sagen. Zum Beispiel kann ich klar sehen, dass Perl für die meisten Anwendungen ein offensichtlicherer Kandidat als Java wäre. Ich muss das ziemlich oft machen und zu diesem Zeitpunkt verwende ich C# dafür, aber ich hätte gerne eine eher skriptähnliche Sprache, um das zu tun.
Ich kann mir vorstellen, Perl wäre ein Kandidat dafür, aber ich möchte es in PowerShell tun, da PowerShell Zugriff auf die .NET-Bibliothek (einfach). Oder ist Python ein besserer Kandidat dafür? Wenn ich eine neue Sprache lernen muss, ist Python sicherlich einer auf meiner Liste, anstatt Perl.
Ich möchte zum Beispiel eine Datei lesen, einige Änderungen vornehmen und sie erneut speichern. ZB: öffne es, nummeriere alle Zeilen (zB mit 3 Ziffern) und schließe es. Jedes Beispiel in jeder Sprache wäre willkommen, aber je kürzer desto besser. Es ist Utility Scripting, ich bin hier, nicht OO, TDentwickelt, Unit-Test-Zeug natürlich.
Was würde ich sehr gerne sehen, etwas wie (pseudocode hier):
open foobar.as f
foreach line in f.lines
line.addBefore(currenIteratorCounter.format('ddd') + '. ')
close f
So:
bar.txt
Frank Zappa
Cowboy Henk
Tom Waits
numberLines bar.txt
bar.txt
001. Frank Zappa
002. Cowboy Henk
003. Tom Waits
UPDATE:
Die Perl und Python Beispiele hier sind groß und definitiv in der Linie dessen, was ich erhofft und erwartet hatte. Aber gibt es da draußen keine PowerShell-Leute?
1. Ich habe viele Fensterumgebungen gesehen, in denen Perl installiert wurde, und nicht vom Benutzer des PCs, woher es kommt, weiß ich nicht.
2. Können Sie auch ein cmd Beispiel geben? – Peter
Dies ist eine hervorragende Antwort (die ich bookmarken werde), aber wollte nur darauf hinweisen, dass Sie tatsächlich gezeigt haben, dass Powershell normalerweise die Antwort ist. Es macht so etwas so einfach, dass das Erstellen einer Funktion zum Einwickeln normalerweise Zeitverschwendung ist. Sie könnten einfach die Initialisierung von $ i inline setzen, um es zu einem Einzeiler zu machen. Es ist viel lesbarer als Perl. Und schließlich ist PowerShell ein Betriebssystem "update", das die Erlaubnis, es zu installieren, etwas einfacher macht. Bald wird es standardmäßig auf Windows-Betriebssystemen installiert, beginnend mit Windows 7, glaube ich. – Mike
@Peter Perl würde von einem Administrator auf dem Computer installiert werden. Wie Mike sagte, PowerShell ist standardmäßig in Windows 7 und Server 2008 R2 installiert und aktiviert und ist über Windows Update oder WSUS als optionales Update für Vista, XP und Server 2003 verfügbar. Es ist eine Funktion auf Server 2008 –