适用于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命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或 ...
随机推荐
- 通过使用chatgpt 逐步解决egg项目学习的一些问题【笔记】
我的需求提问 创建一个html页面,这个页面包括通过学生id查询学生详情的组件,和通过学生姓名,身份证,选择班级的组件,并把代码告诉我 chatgpt回答 好的,以下是一个包含两个组件的HTML页面, ...
- Java 内存模型(二)
Java 内存模型(二) happens-before JSR-133 提出了 happens-before 的概念,通过这个概念来阐述操作之间的内存可见性.如果一个操作执行的结果需要对另一个操作 ...
- 关于VUE3的疑问。
1.响应式数据的声明 中 ref 与 reactive 有什么区别? 答:参考答案 .个人理解:ref最好用来定义基本数据类型,使用时要用.value :reactive最好用来定义引用数据类型.re ...
- 使用 Azure OpenAI 打造自己的 ChatGPT
一.前言 当今的人工智能技术正在不断发展,越来越多的企业和个人开始探索人工智能在各个领域中的应用.其中,在自然语言处理领域,OpenAI 的 GPT 系列模型成为了研究热点.OpenAI 公司的 Ch ...
- Java中使用List的add方法后元素相同问题
在写JavaWeb时,我在后端通过JDBC读取了数据后逐个使用List.add()方法添加元素并通过request方法传给jsp页面解析,但是添加以后出现了在列表里有n个(假设添加了n个元素)最后一个 ...
- ASP.NET Core如何知道一个请求执行了哪些中间件?
第一步,添加Nuget包引用 需要添加两个Nuget包分别是:Microsoft.AspNetCore.MiddlewareAnalysis和Microsoft.Extensions.Diagnost ...
- linux下的一道堆上的格式化字符串漏洞题分析分享
简单分享一下解题过程. 下载题目,里面有三个文件,如图: DockerFIle文件: net.sh文件: shell文件是一个elf,文件情况: 64位,Full RELO,NX,PIE 丢进IDA看 ...
- 23.04.06_为博客设置https
title: 为博客设置https协议 categories: - 博客优化 date: 2023-04-06 url_dir: Blog_optimization url_name: setting ...
- ES日志存储以及备份压缩到COS
导语 为了满足用户日益增长的日志存储大小,不影响用户的写入和查询性能.满足不同用户写入流量.同时用户日志长期保存,日志存储比较占用空间和成本.ES集群规格配置高,消耗资源和成本.我们基于Go语言设计了 ...
- node服务端
一,node起服务+数据交互+中间件 什么是node express koa node是js在后端运行时的一个环境 express,koa是基于node的框架,快速构建web应用 前后端交互方式 1. ...