Ich benutze RStudio auf dem Mac. Ich möchte einen Shell-Befehl (Terminal-Befehl) aus einer R-Skript-Datei ausführen. Ich verwende die Systemfunktion in R, um dies zu tun.Mac Shell Befehle in R mit Anführungszeichen
Um jedoch einen Schritt weiter zu gehen, habe ich einen Shell-Befehl, der eine Schleife hat und einige Parameter übergibt. Um diese Parameter zu übergeben, muss ich Anführungszeichen verwenden. Da die Systemfunktion bereits Anführungszeichen verwendet, geben diese zweiten Anführungszeichen einen Syntaxfehler. Zum Beispiel
- einfacher Anruf @ Terminal: mkdir ch; wenn R übersetzt wird
in Rscript
System ("mkdir ch") sein macht in Arbeitsbereich einen ch Ordner.
- Anrufschleife @ Terminal =
für Datei in * .pdf; do pdftotext "$ file" "$ file.txt"; erledigt.
im Terminal der obige Befehl Schleife den Befehl 'pdftotext' für jede Datei in dem Verzeichnis. Aber wie Sie bemerken, hat dieser Aufruf bereits Anführungszeichen (Dateivariable) und Konflikte mit Anführungszeichen des Systems ("") Funktion in R
Wie kann ich diesen Shell-Befehl mit einem Schleifenaufruf in R Systemfunktion tun?
Verwenden Sie einfache Anführungszeichen, d. H. '' ', Um Ihren Systemaufruf, oder fliehen Sie die doppelten Anführungszeichen mit' \\ '. – brittenb
@brittenb Bitte als Antwort hinzufügen. – nrussell