适用于Linux命令的10个R函数
由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中链接。
这篇文章将介绍 10 个不同的 Linux 命令及其 R 实现方法。 如果您有兴趣学习更多 R 函数来处理文件的方法,请参考《R: HOW TO CREATE, DELETE, MOVE, AND MORE WITH FILES》。
列出目录中的所有文件
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"
获取文件前几行记录
R 实现:
# let df be a data frame
head(df)
head(df, 10)
Linux 实现:
head -6 some_file.txt
head -10 some_file.txt
获取当前目录
R 实现:
getwd()
Linux 实现:
pwd
更改目录
R 实现:
setwd("/path/to/new/directory")
Linux 实现:
cd /path/to/new/directory
统计目录中的文件数
R 实现:
length(list.files("/path/to/some/directory"))
Linux 实现:
ls -1 | wc -l
检查文件权限
R 实现:
file.info("/path/to/directory/file.txt")
file.info 返回除文件权限之外的文件的其他信息,包括大小,创建时间,上次修改时间和上次访问时间。 如果您只想获得该文件的权限,请运行以下命令:
file.info("/path/to/directory/file.txt")$mode
权限以八进制(octal)形式返回; 将此八进制结果转换为读/写等功能,请参阅此链接。其实也就是 Linux 中的 rwx 权限。
Linux 实现:
ls -l /path/to/directory/file.txt
创建新目录
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
创建新文件
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
计算文件中的行数,单词数和字符数
虽然使用 base R 也可以获得文件中的行数,字数和字符数,但使用 hyperSpec 程序包可以更简单。
# R 中安装 hyperSpec 包
install.packages("hyperSpec")
运行下面的代码行将打印出一个数据框,其中包含输入文件中的字符,单词和行数。 同样,Linux wc 命令将打印出文件的相同信息。
R 实现:
library(hyperSpec)
wc("/path/to/directory/file.txt")
Linux 实现:
wc /path/to/directory/file.txt
文件拷贝
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
![96bd78ce-002d-4c37-9e3b-5180a0e843cb.gif](https://oscimg.oschina.net/oscnet/96bd78ce-002d-4c37-9e3b-5180a0e843cb.gif)
本文分享自微信公众号 - 生信科技爱好者(bioitee)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。