适用于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命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或 ...
随机推荐
- JVM 问题排查工具
更多内容,前往 IT-BLOG Java 开发人员肯定都知道 JDK的 bin 目录中有 "java.exe"."javac.exe" 这两个命令行工具.下面主 ...
- 酷狗的kgma文件,居然包含两个版本
酷狗的kgma文件,居然可以包含两个版本,看看两首歌的歌曲信息. 歌曲信息中可以看到两首格式.时间.大小都是不一样的,但是这两首歌曲的本地文件地址都指向 F:\KuGou\KugouMusic\丸子呦 ...
- 股票数据Scrapy爬虫实例(亲测有效)
步骤: 步骤1:建立工程和Spider模板 scrapy startproject BaiduStocks cd BaiduStocks scrapy genspider stocks baidu.c ...
- 图与网络分析—R实现(四)
三 最短路问题 最短路问题(short-path problem)是图论理论的一个经典问题.寻找最短路径就是在指定网络中两结点间找一条距离最小的路.最短路不仅仅指一般地理意义上的距离最短,还可以引申到 ...
- ChatGPT 与 Midjourney 强强联手,让先秦阿房宫重现辉煌!
Midjourney 是一款非常特殊的 AI 绘画聊天机器人,它并不是软件,也不用安装,而是直接搭载在 Discord 平台之上,所有的功能都是通过调用 Discord 的聊天机器人程序实现的.要想使 ...
- LeeCode 动态规划(二)
01背包问题 题目描述 有 n 件物品和容量为 w 的背包,给你两个数组 weights 和 values ,分别表示第 i 件物品的重量和价值,每件物品只能使用一次,求解将哪些物品装入背包可使得物品 ...
- 基于【ESLint+JavaScript Standard Style】标准的VUE/JS/html风格指南
小仙男前端代码风格规范指南v1.0 概述 本规范是适用于小仙男团队及前端团队所搭建的各种前端框架代码的通用风格规范指南: 使用时,请遵循指南细则进行代码风格约束,并在提交之前确保进行代码风格的修正操作 ...
- java项目 宿舍管理系统 (源码+数据库文件+1w字论文+ppt)
java项目 宿舍管理系统 (源码+数据库文件+1w字论文+ppt)技术框架:java+springboot+vue+mysql后端框架: Spring Boot.Spring MVC.MyBatis ...
- Callback详解
Callbacks Callback Registration 在 Rails 中,回调(Callbacks)是一种在模型对象的生命周期中执行特定代码的机制.回调可以在模型对象的创建.更新.删除等操作 ...
- js函数-参数默认值
1. 在es6之前必须通过函数内部实现 就像以下的几种情况: function example(a,b){ var a = arguments[0] ? arguments[0] : 1;//设置参数 ...