由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中链接。

这篇文章将介绍 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函数的更多相关文章

  1. 每天一个Linux命令(10)cp命令

    cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录.它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下.cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文 ...

  2. Linux 学习笔记之超详细基础linux命令 Part 10

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 9----------------- ...

  3. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---10

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  4. linux命令行下使用R语言绘图

    系统:centos 6.4 64bit 环境安装参考:http://hi.baidu.com/solohac/item/4a18e78f1bef9b5825ebd99c 在R语言中可以使用png()等 ...

  5. 每天一个linux命令(10):cat 命令

    cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用. 1.命令格式: cat [选项] [文件] ...

  6. 【每天一个Linux命令】10. 用户账号的新建/修改/删除以及密码修改 useradd/usemod/userdel/passwd

    在 Linux 系统中,与用户管理有关的文件主要有如下几个:分别是/etc/passwd,/etc/shadow,/etc/gfoup,/etc/gshadow .它们分别与用户的账号,密码,用户组及 ...

  7. 【转】每天一个linux命令(10):cat 命令

    原文网址:http://www.cnblogs.com/peida/archive/2012/10/30/2746968.html cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内 ...

  8. 每天一个linux命令(10):touch命令

    版权声明更新:2017-05-14博主:LuckyAlan联系:liuwenvip163@163.com声明:吃水不忘挖井人,转载请注明出处! 1 文章介绍 本文介绍了Linux下面的mv命令. 2. ...

  9. linux命令(10)使用kill杀死含有指定关键字的进程

    命令:ps -ef|grep keyword|grep -v grep|cut -c 9-15|xargs kill -9 批量杀死包含关键字“keyword”的进程. "ps -ef&qu ...

  10. 每天一个Linux命令(10)--cat命令

    --首先,恭喜你,这是第十个命令啦. --为啥第十个就要恭喜?没啥特别呀? --因为逢十进一啊! cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或 ...

随机推荐

  1. Anconda、Pycharm下载、安装、配置教程(极其详细)

    Anacond的介绍 Anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180多个科学包及其依赖项. 因为包含了大量的科学包,Anaconda 的下载文件比较大( ...

  2. Redis分布式Session和普通的cookie session有什么区别?

    Redis 是一种高性能的缓存和 key-value 存储系统,常被用来实现分布式 Session 的方案.在这种方案中,用户的登录信息存储在 Redis 中,而不是存储在本地的 cookie 或 s ...

  3. NodeJS 实战系列:个人开发者应该如何选购云服务

    这文章至少值一千元,因为这是我保守估计花出去的冤枉钱(请自行脑补一个苦笑的 emoji) 文章中会穿插选择云服务的一些建议,当然也会提供一些"薅羊毛"的技巧.不过在此之前我们要想清 ...

  4. AlphaFold2无痛安装教程(超级详细)

    目录 介绍 环境 安装 CMAKE安装 hmmer安装 HHsuite安装 Kalign安装 OpenMM安装 PDBfixer安装 Python依赖包安装 AlphaFold安装 AlphaFold ...

  5. R语言操作入门

    R语言基础之入门篇 一.初识R语言及环境搭建 R语言最初是由新西兰奥克兰大学统计系的教授Ross Ihaka和Robert Gentleman在S语言基础上开发完成的.是一门解释性语言.在我看来R语言 ...

  6. 迁移学习《Asymmetric Tri-training for Unsupervised Domain Adaptation》

    论文信息 论文标题:Asymmetric Tri-training for Unsupervised Domain Adaptation论文作者:Kuniaki Saito, Y. Ushiku, T ...

  7. 【SpringMVC】(一)

    SpringMVC简介 SpringMVC是Spring的一个后续产品,是Spring的一个子项目 基于原生的Servlet,通过了功能强大的DispatcherServlet,对请求和响应进行统一处 ...

  8. Hooks与事件绑定

    Hooks与事件绑定 在React中,我们经常需要为组件添加事件处理函数,例如处理表单提交.处理点击事件等.通常情况下,我们需要在类组件中使用this关键字来绑定事件处理函数的上下文,以便在函数中使用 ...

  9. 重复delete 对象指针后的 异常调用栈怪异 解析

    Release版VC6 MFC程序 程序正常退出时得到一个如下异常调用栈: 0:000> kb # ChildEBP RetAddr Args to Child WARNING: Frame I ...

  10. ROS机器人雷达跟随

    ROS机器人雷达跟随 初始化 打开一个终端输入: ssh clbrobot@ip # 连接小车 roslaunch clbrobot bringup.launch # 激活主板 开启摄像头 开新终端输 ...