Je voudrais exécuter une commande shell sur de nombreux fichiers qui doivent correspondre à une regex de nom de fichier donnée. J'ai trouvé cet extrait de code qui exécute une commande shell avec des arguments:Exécuter une commande shell avec un motif dans Swift
func shell(_ arguments: [String] = []) -> String {
let task = Process()
task.launchPath = "/usr/bin/env"
task.arguments = arguments
let pipe = Pipe()
task.standardOutput = pipe
task.launch()
let data = pipe.fileHandleForReading.readDataToEndOfFile()
let output = String(data: data, encoding: .utf8) ?? "unknown"
return output
}
Il fonctionne très bien, mais il ne résout pas les paramètres:
shell(["ls", "~/Desktop/*.txt"])
ne résout pas le *
à tous txt
fichiers, essaie de travailler uniquement sur un fichier appelé *.txt
. Y at-il une option que je dois définir Process
?
Merci d'avance pour votre aide!