适用于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
本文分享自微信公众号 - 生信科技爱好者(bioitee)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
适用于Linux命令的10个R函数的更多相关文章
- 每天一个Linux命令(10)cp命令
cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录.它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下.cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文 ...
- Linux 学习笔记之超详细基础linux命令 Part 10
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 9----------------- ...
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---10
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
- linux命令行下使用R语言绘图
系统:centos 6.4 64bit 环境安装参考:http://hi.baidu.com/solohac/item/4a18e78f1bef9b5825ebd99c 在R语言中可以使用png()等 ...
- 每天一个linux命令(10):cat 命令
cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用. 1.命令格式: cat [选项] [文件] ...
- 【每天一个Linux命令】10. 用户账号的新建/修改/删除以及密码修改 useradd/usemod/userdel/passwd
在 Linux 系统中,与用户管理有关的文件主要有如下几个:分别是/etc/passwd,/etc/shadow,/etc/gfoup,/etc/gshadow .它们分别与用户的账号,密码,用户组及 ...
- 【转】每天一个linux命令(10):cat 命令
原文网址:http://www.cnblogs.com/peida/archive/2012/10/30/2746968.html cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内 ...
- 每天一个linux命令(10):touch命令
版权声明更新:2017-05-14博主:LuckyAlan联系:liuwenvip163@163.com声明:吃水不忘挖井人,转载请注明出处! 1 文章介绍 本文介绍了Linux下面的mv命令. 2. ...
- linux命令(10)使用kill杀死含有指定关键字的进程
命令:ps -ef|grep keyword|grep -v grep|cut -c 9-15|xargs kill -9 批量杀死包含关键字“keyword”的进程. "ps -ef&qu ...
- 每天一个Linux命令(10)--cat命令
--首先,恭喜你,这是第十个命令啦. --为啥第十个就要恭喜?没啥特别呀? --因为逢十进一啊! cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或 ...
随机推荐
- 罗技GHUB怎么写入板载内存
本文以自用罗技MX518复刻版鼠标作为例子,让大家怎么学会把logitech G HUB的设置写入鼠标板载内存,并且一键切换各组板载设置. 首先点击最下方的启用,让软件设置鼠标各项设定 启用软件的设定 ...
- Windows下解决python pip命令下载慢的方法(超简单)
首先,常用的国内镜像: 1 https://pypi.tuna.tsinghua.edu.cn/simple/ 清华大学(推荐) 2 http://pypi.douban.com/simple/ 豆瓣 ...
- 【ACM算法竞赛日常训练】DAY4题解与分析【树】【子序列】| 组合数学 | 动态规划
DAY4共2题: 树(组合数学) 子序列(dp,数学) 作者:Eriktse 简介:19岁,211计算机在读,现役ACM银牌选手力争以通俗易懂的方式讲解算法!️欢迎关注我,一起交流C++/Python ...
- python中的强制等待、隐性等待、显性等待
运行结果过程中出现Unable to locate element时,1.先确定元素是否定位有误.2.再确定运行过程中是否等待不到位,可以截图,查看查找时页面的状态. 1.使用强制等待 --辅助 2. ...
- 统计模拟实验—R实现(蒲丰投针)
统计模拟实验 统计模拟是数理统计.和计算机科学的结合,是一门综合性学科.在科学研究和生产实际的各个领域中,普遍存在着大量数据的分析处理工作.如何应用数理统计中的方法来解决实际问题,以及如何解决在应用中 ...
- MySQL 8.0:无锁可扩展的 WAL 设计
这篇文章整理自MySQL官方文档,介绍了8.0在预写式日志上实现上的修改,观点总结如下: 在8.0以前,为了保证flush list的顺序,redo log buffer写入过程需要加锁,无法实现并行 ...
- Unity学习笔记02 —— C#语法
C#语法 控制台 Console Console.WriteLine(); Console.ReadLine(); 随机数 Random Random random = new Random(); r ...
- Java设计模式 —— 适配器模式
9 适配器模式 9.1 结构型模式 结构型模式(Structural Pattern) 关注如何将现有类或对象组织在一起形成更强大的结构.结构型模式根据描述目标不同可以分为两种: 类结构型模式:关心类 ...
- RDIFramework.NET敏捷开发框架助力企业BPM业务流程系统的开发与落地
现如今,很多企事业单位集团都自己有一套独特严密的业务生产经营流程,各个环节紧密相连.前后对应,一旦某个环节疏忽,整个流程就会出现问题.如何保证业务流程的标准化和规范化运营.减少人为差错,这就需要用到B ...
- PHPCMSV9 单文件上传功能代码
后台有"多文件上传"功能,但是对于有些情况,我们只需要上传一个文件,而使用多文件上传功能上传一个文件,而调用时调用一个文件太麻烦了. 所以我就自己动手,参考其他字段类型的网站,研究 ...