Comment omettre la sortie des numéros de ligne de Gnu R Print avec RScript sur Linux

Comment omettre la sortie des numéros de ligne de Gnu R Print avec RScript sur Linux

Voici un simple script GNU R Imprimer une seule ligne:

#!/ usr / bin / rscript print ("Hello R") 

où ou la sortie d'exécution est:

$ ./scénario.R [1] "Bonjour r" 

Les numéros de ligne imprimés sont en fait des noms de lignes pour une matrice donnée. Une façon d'éviter d'imprimer un nombre de lignes est d'utiliser chat() fonction:

#!/ usr / bin / rscript cat ("bonjour r") 

où est la sortie d'exécution:

$ ./scénario.R Hello R 

Cependant, chat() La fonction a ses limites et vous pourriez bientôt rencontrer un problème:

$ chat ./scénario.R #!/ usr / bin / rscript dataf = data.cadre (Col1 = C (1,2,3), COL2 = C (4,5,6)) CAT (DATAF) 

imprimer() n'a pas de mal à gérer les données ci-dessus, cependant, chat() entraîner une erreur:

 $ ./scénario.R Erreur dans Cat (liste (…), fichier, sept, remplissage, étiquettes, ajouter): L'argument 1 (type «liste») ne peut pas être géré par l'exécution «Cat» interrompue 

La sortie de l'exemple suivant produira plusieurs numéros de ligne:
$ script Cat.R
#!/ usr / bin / rscript
args <- commandArgs(TRUE) commandArgs() Next, we supply multiple arguments to generate multiple line output:

$ ./scénario.R 1 2 3 4 5 6 7 8 9 0 [1] "/ usr / lib64 / r / bin / exec / r" "--slave" [3] "--no-restore" "- file =./scénario.R "[5]" --args "" 1 "[7]" 2 "" 3 "[9]" 4 "" 5 "[11]" 6 "" 7 "[13]" 8 "" 9 "[[ 15] "0" 

La solution la plus simple pour omettre les numéros de ligne ci-dessus est de tuer le stdout à awk commande et supprimer la première colonne:

$ ./scénario.R 1 2 3 4 5 6 7 8 9 0 | awk '!(1 $ = "") '"/ usr / lib64 / r / bin / exec / r" "--slave" "--no-restore" "- file =./scénario.R "" --args "" 1 "" 2 "" 3 "" 4 "" 5 "" 6 "" 7 "" 8 "" "9" "0" 

Alternativement, si le premier espace au début de chaque ligne devient un problème, nous pouvons le tuer sed Commande pour le retrait:

$ ./scénario.R 1 2 3 4 5 6 7 8 9 0 | awk '!(1 $ = "") '| sed 'S / //' "/ usr / lib64 / r / bin / exec / r" "--slave" "--no-restore" "- file =./scénario.R "" --args "" 1 "" 2 "" 3 "" 4 "" 5 "" 6 "" 7 "" 8 "" "9" "0" 

Tutoriels Linux connexes:

  • Tutoriel de débogage GDB pour les débutants
  • Gestion de la saisie des utilisateurs dans les scripts bash
  • Python Expressions régulières avec des exemples
  • Comment lire et créer des fichiers CSV à l'aide de Python
  • Bash Script: Hello World Exemple
  • Choses à installer sur Ubuntu 20.04
  • Système linux hung? Comment s'échapper vers la ligne de commande et…
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Conseils de ligne de commande bash utiles et exemples de trucs - Partie 1
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux