10 R functions for Linux commands and vice-versa

December 10, 2018
By

(This article was first published on R – Open Source Automation, and kindly contributed to R-bloggers)

linux vs. r commands


This post will go through 10 different Linux commands and their R alternatives. If you’re interested in learning more R functions for working with files like some of those below, also check out this post.

How to list all the files in a directory

Linux R What does it do?
ls list.files() Lists all the files in a directory
ls -R list.files(recursive = TRUE) Recursively lists all the files in a directory and all sub-directories
ls | grep “something” list.files(pattern = “something”) Lists all the files in a directory containing the regex “something”

R

list.files("/path/to/directory")


list.files("/path/to/do/directory", recursive = TRUE)


# search for files containing "something" in their name
list.files("/path/to/do/directory", pattern = "something")


# search for all CSV files
list.files("/path/to/do/directory", pattern = ".csv")


Linux

ls /path/to/directory


ls -R /path/to/directory


# search for files containing "something" in their name
ls /path/to/directory | grep "something"


# search for all CSV files
ls /path/to/directory | grep ".csv"


Getting the top records in a file / object

Linux R What does it do?
head head() Prints the top n records of a file (Linux) / data frame or other object (R)

R

# let df be a data frame
head(df)

head(df, 10)

Linux

head -6 some_file.txt

head -10 some_file.txt

Getting the current directory

Linux R What does it do?
pwd getwd() Gets the current directory

R

getwd()

Linux

pwd

Changing the directory

Linux R What does it do?
cd setwd() Change the current working directory

R

setwd("/path/to/new/directory")

Linux

cd /path/to/new/directory

How to count the number of files in a directory

Linux R What does it do?
ls -1 | wc -l length(list.files(…)) Counts the number of files in a directory

R

length(list.files("/path/to/some/directory"))

Linux

ls -1 | wc -l

How to check file permissions

Linux R What does it do?
ls -l file.info() Returns the file permissions (Linux) / additional info (R)

R

file.info("/path/to/directory/file.txt")

file.info returns additional information about a file besides file permissions, including size, created time, last modified time, and last access time. If you just want to get permissions of the file, just run this:

file.info("/path/to/directory/file.txt")$mode

The permissions are returned in octal; to translate what this octal result means into read / write etc. abilities, see this link.

Linux

ls -l /path/to/directory/file.txt

How to create a new directory

Linux R What does it do?
mkdir dir.create() Creates a new directory

R

# create folder in current directory
dir.create("new_folder")

# create folder in different directory
dir.create("/path/to/new_directory")

Linux

# create folder in current directory
mkdir new_folder

# create folder in different directory
mkdir /path/to/new_directory

How to create a new file

Linux R What does it do?
touch file.create() Creates a new file

R

# create a file in current directory
file.create("new_file.txt")

# create file in different directory
file.create("/path/to/directory/new_file.txt")

Linux


# create a file in current directory
touch new_file.txt

# create file in different directory
touch /path/to/directory/new_file.txt

How to count the number of lines, words, and characters in a file

Though it’s possible to get the number of lines, words, and characters in a file using base R, it’s simpler to do so with the hyperSpec package.

Just use install.packages to install if needed:

install.packages("hyperSpec")

Running the below line of code will print out a data frame with the number of characters, words, and lines in the input file. Similarly, the Linux wc command will print out the same information for a file.

Linux R What does it do?
wc wc() Lists the number of characters, words, and lines in a file

R

library(hyperSpec)

wc("/path/to/directory/file.txt")

Linux

wc /path/to/directory/file.txt

How to copy a file

Linux R What does it do?
cp file.copy() Copy a file

R

# copy file.txt to new_directory
file.copy("/path/to/directory/file.txt", "/path/to/new_directory")

Linux

# option 1
cp /path/to/directory/file.txt /path/to/new_directory

# option 2
cp /path/to/directory/file.txt /path/to/new_directory/file.txt


That’s it for this post. Happy coding! Please check out my other R posts here.

The post 10 R functions for Linux commands and vice-versa appeared first on Open Source Automation.

To leave a comment for the author, please follow the link and comment on their blog: R – Open Source Automation.

R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...



If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Comments are closed.

Search R-bloggers


Sponsors

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)