10 R functions for Linux commands and vice-versa

[This article was first published on R – Open Source Automation, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

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

LinuxRWhat does it do?
lslist.files()Lists all the files in a directory
ls -Rlist.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

LinuxRWhat does it do?
headhead()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

LinuxRWhat does it do?
pwdgetwd()Gets the current directory

R

getwd()

Linux

pwd

Changing the directory

LinuxRWhat does it do?
cdsetwd()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

LinuxRWhat does it do?
ls -1 | wc -llength(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

LinuxRWhat does it do?
ls -lfile.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

LinuxRWhat does it do?
mkdirdir.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

LinuxRWhat does it do?
touchfile.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.

LinuxRWhat does it do?
wcwc()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

LinuxRWhat does it do?
cpfile.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 about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

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)