
... <看更多>
Search
#1. Linux 匹配文字grep 指令用法教學與範例 - GT Wang
grep 最基本的用法就是以普通的關鍵字來搜尋,其基本語法如下: grep 關鍵字檔案1 檔案2 . ... 在/etc/ 下所有檔案中搜尋ubuntu grep -r ubuntu /etc/.
grep 與 grepl 最大的差異,在於它回傳的是「符合 pattern 」的「位置」或「文字」,而不是一個布林向量。 因此結果的向量長度,會短很多。 在正則表示式中,我們可以在 ...
#3. Linux﹞grep 指令用法教學及範例| 工程師的江湖 - 點部落
Linux 匹配文字grep 指令用法教學與範例 ... 如果想要在指定目錄與其子目錄下所有的檔案中,搜尋指定的關鍵字,可以加上 -r 參數: grep -r 127 /etc/ ...
#4. R 函数笔记| grep()函数与R语言中的正则表达式 - 简书
#首先,python中的正则表达式大致分为以下几部分: 元字符模式函数re 内置对象用法分组用法环视用法... mapuboy阅读1,157评论0赞51. 抓沙蟹. 五一 ...
R 语言中的grep函数可以在给定的字符串向量中搜索某个子字符串。其语法格式如下:grep(pattern, x, ignore.case = FALSE, perl = FALSE, value = FALSE ...
回傳符合條件之向量位置(index) grep(搜尋條件,要搜尋的向量) ... 原生的R環境可以用 merge() 函數將資料框結合,使用方法為 merge(資料框1,資料框2,by="結合依據欄位").
#7. grep指令使用簡集
grep -r "text" ./ # r遞迴搜尋 grep -rn "text" . ... grep --exclude-dir=".git" -r text_start ./ ... 關於Grep的正規表示式的用法句點(.)表示一個任意字元, ...
R 语言grep函数用法 ... 通常被用来进行数值计算比较多,字符串处理相对较少,而且关于字符串的函数也不多,用得多的就是substr、strsplit、paste、regexpr这 ...
#9. Chapter 10 文字與字串資料處理| R 資料科學與統計 - Bookdown
{R} 內有許多函數可以處理文字型態的資料物件或文字資料(Character Data), 常用之文字函式有 paste() , substr() , substring() , grep() , gsub() , strsplit() 等.
用法 : grep(pattern, x, ignore.case=TRUE/FALSE, value=TRUE/FALSE) 參數: pattern: Specified pattern which is going to be matched with given elements of the ...
#11. R中字符串处理和grep的用法
R 中的正则表达式非常专业,从grep系列函数的参数就可以看出,有个参数“extended”,默认为T,表示使用扩展grep,也就是egrep,如果选择为F就表示基础的grep,不过该种方式不 ...
#12. R教學第9章:尋找和取代資料
gsub的用法跟grep很像,括號裡第一個東西都是放要找尋的關鍵字(在本例中為「鄉」),不過gsub括號裡的第二個東西,要放你要取代原關鍵字的新字(在本例中為「取代 ...
#13. Linux grep 命令 - 菜鸟教程
Linux grep 命令Linux 命令大全Linux grep 命令用于查找文件里符合条件的字符串。 grep 指令用于 ... -r 或--recursive : 此参数的效果和指定"-d recurse"参数相同。
#14. R语言grep函数用法 - 代码天地
R 语言grep函数用法. 其他 2020-01-21 01:16:03 阅读次数: 0. 通常被用来进行数值计算比较多,字符串处理相对较少,而且关于字符串的函数也不多,用得多的 ...
#15. R语言grep()函数部分用法 - 知乎专栏
R 语言grep()函数部分用法. 2 年前. 今天在处理miRNA芯片注释,过程中发现GPL中有一些miRNA的名字不是hsa开头,故需要把它们删去,如果使用excel ...
#16. R語言_字符串處理和grep的用法 - 台部落
R 語言_字符串處理和grep的用法 ... R中有grep系列的函數,可以用最強大的方式處理字符串的所有問題。 grep的全稱是global search regular expression ...
#17. linux的grep命令 - 愛在屋簷下的部落格
http://blog.6park.com/article.php?type=blog&itemid=201360 用grep查找函數的關聯文件用grep查找 ... 明確要求搜索子目錄:grep -r ... Grep 命令用法大全
#18. 一起幫忙解決難題,拯救IT 人的一天
[Data Science系列]利用R語言來管理regular expression之1-grepl , grep or me ... 雖然這並非R語言的專屬,但我們還是可以來探討幾個用法倘若我們將之前提到各個種族一一將 ...
#19. R字符串处理-grep/grepl/sub/gsub_小亮 - 新浪博客
R 字符串处理-grep/grepl/sub/gsub_小亮_新浪博客,小亮, ... paste函数还有一个用法,设置collapse参数,连成一个字符串:
#20. grep 用法r R中字符串處理和grep的用法 - Txfs.co
R 中字符串處理和grep的用法. R通常被用來進行數值計算比較多,字符串處理相對較少,而且關于字符串的函數也不多,用得多的就是substr,strsplit,paste,regexpr這幾個 ...
#21. Linux grep 用法 - Sam隨手筆記
Linux grep 用法. *** 用'grep'搜索文本文件 如果您要在幾個文本文件中查找一字符串,可以使用'grep'命令。 ... 明確要求搜索子目錄:grep -r
#22. R语言base包grep函数使用说明- 爱数吧
grep 、grepl、regexpr、gregexpr和gexec在字符向量的每个元素中搜索参数模式的匹配项:它们在结果的格式和详细程度上有所不同。 语法\用法:.
#23. 分享Linux Grep高階使用者指南 - IT人
在本教程中,我將向您展示grep的一些高階用法,它們仍然非常有用。 ... 現在,您可以使用“-R”命令與grep一起搜尋所有這些內容。首都“R”告訴grep包含 ...
#24. linux-grep用法 - 每日頭條
所有子目錄下的搜索(-r). $ grep -r "exception" log.txt. 4.全字匹配搜索(-w). 如果你搜索boo,查詢結果可能包含fooboo,boo123, booooom, ...
#25. R程式設計 - 吳漢銘
R 程式設計風格及範例講解 ... setwd("C:\\Program Files\\R\\working") ... as.vector(Country[grep(" R", as.character(Country))]) # “ R” with multiple name.
#26. TIPTOP查找命令grep用法记录 - 赫非域
TIPTOP查找命令grep用法记录1、与find的区别:find 命令用于在系统中搜索符合条件的文件名、文件名、 ... 也可以改为grep -r “ima904” /u1/topprod.
#27. Linux grep命令的示例用法
另一個可以使用的通配符是句點(。)。 你可以用它來匹配一個字母。 grep inver.r的地方. 上面的命令會找到稱為inverurie和inverary的 ...
#28. Linux技巧:详解grep 命令的多个选项含义和常见用法
可以看到, grep string * 命令的打印结果里面,有一个string 目录名匹配"string" 字符串模式。 而用 grep "string" -r . 命令查找当前目录下的所有文件, ...
#29. R语言基础教程——第9章:字符串操作 - 腾讯云
关于正则表达式的用法就在后文中分解了。 grep()函数. 首先,grep函数可以像数据库查询一样对向量中的具有特定条件的元素进行查询! 其次, ...
#30. R语言中的字符查询匹配和替换grep()等系列函数
R 语言中文本处理的重要一环,而R里面最强大的文本处理公式就是grep()一类 ... e = 2)" paste函数还有一个用法,设置collapse参数,连成一个字符串: ...
#31. 【開發運維手牽手】「Linux篇」grep篩選命令用法 - 拾貝文庫網
【開發運維手牽手】「Linux篇」grep篩選命令用法. ... -r 或--recursive : 此引數的效果和指定"-d recurse"引數相同。 -s 或--no-messages : 不顯示錯誤資訊。
#32. R語言︱文字(字串)處理與正則表示式- IT閱讀 - ITREAD01 ...
grep, 基於正則表示式的匹配 ... 高效處理文字少不了正則表示式(regular expression),雖然R在這方面先天不高效, ... 另外三個函式用法也很簡單:.
#33. 正規表示式Regular Expression in R - 有完沒完RRR
正規表示式Regular Expression in R ... 可以用正規表示式的R函數. grep(); grepl(); gsub(); str_split(); stringr package中的諸多函數 ...
#34. linux grep 命令常见用法 - 博客园
在 linux 系统中,有三个强大的文本分析处理工具:grep sed awk, ... grep 用于搜索文本内容 => linux grep 命令常见用法 ... grep -r error log.
#35. linux命令之-grep, egrep, fgrep | 程式前沿
grep 命令grep(global search regular expression(RE) and print out the ... -R/-r 此引數的效果和指定“-d recurse”引數相同。 ... grep命令常見用法.
#36. 3.1 使用grep、sub、gsub 进行搜索和替换 - 书栈网
R 是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算 ... 下面通过简单的例子理解它们的用法和区别:从小写字母向量中搜索 c 。
#37. Linux - grep 命令參數說明 - 關於網路那些事...
Linux - grep 命令參數說明 ... 底下介紹grep 參數用法 ... 出不符合條件的內容的文件名稱 -n 顯示符合條件的內容的行數,及位置 -q 不顯示訊息 -R/-r ...
#38. 【數據分析】R|擷取字串|RegEx與常用函數 - 塵世餘韻
grep :設定要找的詞彙,列舉資料中存在該詞彙的位置(index)。 grep("pattern", vector). grepl:與grep一樣,但l代表logical,列舉之結果為T/ ...
#39. grep - HackMD
遍歷此資料夾底下所有檔案(包含子資料夾), 尋找符合`abc` 的資料行 grep "abc" ./ -r ## 尋找此資料夾副檔名為`.txt` 中符合`abc` 的資料行 grep "abc" *.txt ...
#40. 第十一章、正規表示法與文件格式化處理
底下我們僅列出較進階的grep 選項與參數給大家參考, 基礎的grep 用法請參考前 ... 內的sed 動作; -r :sed 的動作支援的是延伸型正規表示法的語法。
#41. linux系統grep命令用法詳解(二) - w3c菜鳥教程
linux系統grep命令用法詳解(二),1 作用linux系統中grep命令是一種強大的文字搜尋工具,它能使用正規表示式搜尋 ... 明確要求搜尋子目錄:grep -r.
#42. unix檔案處理工具[生物資訊實驗室]
下載整個目錄. wget -r www.yourgene.com.tw/webdownload/EP/ ... 用法可參照:http://linux.vbird.org/linux_basic/0320bash.php#grep. grep可以將檔案中擁有特定字串 ...
#43. 第08 天:函數· 輕鬆學習R 語言
使用方法 是在小括號中放入所謂的輸入(input),然後呼叫函數就可以得到所謂的 ... my_char) [1] 1 > grep(pattern = "R", my_char) [1] 2 > grep(pattern = "the", ...
#44. linux grep 用法總結 - w3c學習教程
linux grep 用法總結,1 作用linux系統中grep命令是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字 ... -r 去指定目錄下搜尋所有含'hello'的檔案.
#45. r grep函數使用方法
R 語言中grep函數的使用方法. R語言中的grep函數可以在給定的字符串向量中搜索某個子字符串。. grep (pattern, x, ignore.case = FALSE, perl = FALSE, value = FALSE, ...
#46. NCTU CSIE gopher
二、UNIX 常用的指令: 以下只說明各指令的基本用法, 若需詳細說明, ... 都以相同的檔名複製一份放到目錄dir 裡面。 cp -r dir1 dir2 : 將dir1 的全部內容全部複製 ...
#47. r-如何使用grep()/ gsub()查找完全匹配 - ITranslater
java-如何在Android Studio IDE中找到项目的所有未使用方法? 如何使用Java执行Windows命令-更改网络设置 · 空安全集合作为Java 8中的流 · 为什么Java的 ...
#48. [轉][Linux] grep 的用法@ 碎碎念 - 隨意窩
若需使用grep命令的相關資訊,請參閱《《HP-UX Reference》》的《grep》(1)線上援助頁。 grep -r -i dpc . | less. -r: 代碼: 指定的目錄下的所有檔案和 ...
#49. grep的用法(转) - 51CTO博客
grep 的用法(转),grep参数-c:显示匹配的行数(就是显示有多少行匹配了);-n:显示匹配内容所在文档的行号;-i:匹配时忽略大小写;-s:错误信息不 ...
#50. grep 搜尋字串 - 疑難雜症小天地
在Linux上面開發上有一個好指令grep 可以搜尋你想要的字串最簡單的用法grep -r "想搜尋的字串文字" 想搜尋的字串位置ex: grep -r "
#51. 在InDesign 中尋找和取代文字
GREP. 使用進階模式搜尋技術來搜尋和取代文字與格式設定。 ... 文字」索引標籤中,^p 代表段落切換符號;而在「GREP」索引標籤中,則是以/r 表示。
#52. grep 指令使用or 及and 查兩個條件以上 - Linux 技術手札
grep 指令是十分常用的字串搜索工具,可以對檔案或pipe 輸入進行搜索,而grep ... 除了or 的用法,也可以有and 的用法,即需要同時符合兩個條件:.
#53. Linux三劍客,讓你驚訝的Grep,Awk,Sed命令用法 - 日間新聞
linuxmi@linuxmi:~/www.linuxmi.com$ grep -r "linuxmi" *. 僅輸出匹配的模式。Grep顯示包含匹配模式的整個句子。我們只能使用"-o"字串來顯示搜尋模式 ...
#54. Linux 過濾程式
基本的grep 用法為grep PATTERN FILE,即用正規表示法的PATTERN(樣板)來匹配找出在 ... 有時只記得某檔案內容的某關鍵字,但忘了是那個檔案,此時用選項〝-r〞連同子目錄 ...
#55. R 工具書 - Amazon AWS
左邊快捷欄位的Rmarkdown模板(網址如下). https://medium.com/@kstseng/r-markdown-template-a4b0449a56d5 ... R函數grep()尋找與取代 ... add的用法.
#56. Linux的find和grep指令
-name ".git" | xargs -r rm -rf [root@localhost]# grep (Globally search for Regular Expression and print it)的基本指令用法:
#57. 使用Grep終端命令學習Shell腳本| 從Linux
在路徑中查找字符串(模式). 在文件名或文件內容中找到並顯示模式的所有匹配項。 使用以下參數來實現此目的:-R( ...
#58. shell腳本之grep的使用方法 - 碼上快樂
一grep的意義二grep的基本用法三awk的意義四awk的基本用法五實例說明兩者 ... 首先需要在參數中加-r(表示遞歸的意思)。2、在文件參數上加上文件夾。
#59. UNIX 作業系統
-name core -print -exec rm {}\;& 將目前目錄下的core file清除*比較which及whereis 的用法☆grep 說明: ‧在給定檔案中﹔找尋是否包含此字串‧用法:grep 字串 ...
#60. 文字字串搜尋比對grep [資料科學與R語言] - YouTube
#61. 在文件中搜索文本工具grep命令用法 - 运维生存时间
-R /-r 此参数的效果和指定“-d recurse”参数相同。 -s 不显示错误信息。 -v 反转查找。 -w 只显示全字符合的列。 -x 只 ...
#62. Linux使用指令來取代檔案內的字串 - 記錄工作大小事
如果要搜尋關鍵字串,可以使用$ grep –r (部分字串) (路徑) ... 只有目錄的話可以加上-a這個選項(all),使用方法跟grep很像,$ du (操作選項) (路徑)
#63. R 工具書
在R markdown中插入圖片png. knitr::include_graphics("C:/Users/User/Desktop/LearnR/2.png"). A caption ... R函數grep()尋找與取代 ... add的用法.
#64. 輕鬆學習R 語言:常用內建函數. 認識R 語言中的基礎函數
文字向量函數可以針對文字向量做處理,常用的有:. toupper(); tolower(); substr(); grep(); sub(); strsplit() ...
#65. 8 個Linux 下ls 命令的高級用法!個個驚艷 - 壹讀
-rw-rw-r-- 1 alvin alvin 8 Nov 18 09:12 atb_can.c ... [alvin@VM_0_16_centos test_dir]$ ls -p | grep /$. include/. output/.
#66. grep and 用法 - Qtill
grep 命令用法總結By 02月23日2016 Linux Linux grep sed 實例1 刪除某目錄下所有文件含有test 字符串的行grep -r -l “test” * xargs sed -i “/test/d” 上面使用grep ...
#67. R语言字符串处理包stringr | 粉丝日志
grep ()家族函数常常记不住,paste()函数默认以空格分割,各种不顺手啊!随着使用R语言的场景越来越多,字符串处理是必不可少的。给大家推荐一个由Hadley ...
#68. grep 命令的常见用法 - 玩客
当和 -r 或者 -R 参数合用时,假如我们不需要显示具体内容,只要知道哪个文件中有特定的字符串,可以使用该参数。 grep -l 参数示例. 如果不显示匹配的 ...
#69. linux下grep命令用法实例教程 - 海底苍鹰(tank)博客
个人觉得grep命令就是一个对文本或输出进行匹配并控制输出的一个工具,看一下下面的 ... 管道的操作,读取,跳过ACTION is 'read' or 'skip' -R, -r, ...
#70. R 字串函式 - 學習筆記
grep ('e',plant) # 找出含有e的字串 [1] 1 2 3 ○ v= c(3,3,3,3,3,3,5,5,5,2,2,2,1,1,1) table(v) # 計算每個數字出現幾次 result:
#71. grep sed 用法| 飛狼實驗室[wp]
參考網址:itsmw. grep. – r : 指定的目錄下的所有檔案和目錄. – i : 搜尋字串不分大小寫. 範例一: 找出有"John" 關鍵字不分大小寫的所有檔案 ...
#72. 工作常用到的Linux指令 - 羅德尼IT
用法 : 1.grep A * 結果:將含有A 這個字元的檔案及列顯示出來. 2.grep -i A * 結果:將含有A或a 這個字元的檔案及 ... 找到Linux 的kernel 版本 uname -a 或 uname -r
#73. Linux grep命令参数说明及常用用法 - 掘金
grep 参数说明grep常用用法grep-r"xxx"common-default.log--color-C20.
#74. 文本三剑客(sed、awk、grep)用法 - 1024搜
src --exclude-dir ".git" #删除含有hello字符串的文件grep -r "hello" ./src -lZ | xargs -0 rm -f #将file中含有root的行取出grep root file or cat ...
#75. [程式] R的字串處理- 看板Statistics
[軟體程式類別]: R [程式問題]: 資料處理[軟體熟悉度]: ... 部份吻合+ (回傳which) x <- c("AB","AA") grep("B",x) ---->>> 1 grep("A",x) ---->>> 1 ...
#76. [Linux] 常用指令:grep - 菜園角耕耘田地
用法 : grep [-acinv] [--color=auto] 'find things' filename -d, --directories=ACTION how to handle directories; -R, -r, ...
#77. 分享Linux Grep高级用户指南 - ITPUB博客
在本教程中,我将向您展示grep的一些高级用法,它们仍然非常有用。 ... 现在,您可以使用“-R”命令与grep一起搜索所有这些内容。首都“R”告诉grep包含 ...
#78. grep -F 用法_小哥骑单车-程序员ITS301
简介我们先来看下-f参数的用法: • -f<范本文件>或–file=<范本文件> 指定范本文件,其 ... linux之用grep -r 关键字快速搜索在目录下面的含有关键字的文件.
#79. 12个Linux 中grep 命令的超级用法实例 - 电子工程专辑
假若你要在当前文件夹里搜索一个字符串,而当前文件夹里又有很多子目录,你可以指定一个-r选项以便于递归的搜索: $ sudo grep -r “function” *.
#80. 41 R语言的文本处理 - 北京大学邮件系统
R 支持正则表达式, 函数 grep , grepl , sub , gsub , regexpr , gregexpr ... 基本R的 paste() 函数与 stringr::str_c() 函数有类似的用法, 但是参数 sep 的默认值是 ...
#81. 命令grep、egrep、fgrep中的匹配模式 - Tcler Insight
grep 的用法点滴 ... grep -A 3 hello # 输出匹配行后面的上下文, A=After; grep -r work/ hello # 递归搜索目录下的所有文件, ... 更多用法及示例敬请参见后续文章。
#82. grep 反向grep用法詳解 - Doisof
grep 在命名輸入FILE中搜索包含與給定PATTERN匹配的行。默認情況下,它會打印匹配的行。此外,變體程序egrep , fgrep和rgrep分別與grep-E , grep -F和grep -r相同。相同。
#83. grep 用法字串如何使用 - Voajcr
11/19/2015 · grep 是Linux 下十分好用的工具, grep -l pattern files :只列出符合字串的檔名,8 年前首次聽到R 這個名字的時候開始,後各三行的話,grepl,只要符合 ...
#84. linux grep命令参数及用法详解---linux管道命令grep
补充说明: grep指令用于查找内容包含指定的范本样式的文件, ... -r或--recursive 此参数的效果和指定“-d recurse”参数相同。
#85. Linux 三剑客之grep基本用法_DevCloud - 华为云社区
Linux grep 命令用于查找文件里符合条件的字符串。grep 指令用于查找内容包含指定的范本样. ... root@ecs-beijing1:~ # grep -r update /etc/acpi.
#86. 用grep 一次匹配多個目標 - 惘然
grep 是一個很實用的工具,多數用於要從一堆檔案中,找出出現某個特定字串的檔案,又或是從log 中filter 出有相關的項目。 每次運用時,都必定會知道 ...
#87. 12个Linux 中grep 命令的超级用法实例 - 电子发烧友论坛
假若你要在当前文件夹里搜索一个字符串,而当前文件夹里又有很多子目录,你可以指定一个-r选项以便于递归的搜索: $ sudo grep -r “function” *.
#88. grep精确匹配搜索某个单词的用法(附: grep高效用法小结))
-R/-r 此参数的效果和指定"-d recurse"参数相同。 -s 当搜索关键字符,匹配的文件不存在时不显示错误信息。即不显示不 ...
#89. Linux Command 命令列指令與基本操作入門教學 - TechBridge ...
可讀取 (r,Readable) ,用數字4 表示; 可寫入 (w,writable) ,用數字2 ... 例如我們可以使用 man 來查詢 ls 的使用用法: ... grep -r '字串' *.
#90. linux文字修改大師-sed-01-基本介紹 - 大軒軒的筆記本
沒有用-r 的情況下,上面的符號沒有特殊意義會被當作文字處理。 ... 使用方法是 \符號 正規表示法 符號。 ... 也可做為grep 使用列出主機IP
#91. (已解決歡迎大家來分享對grep的用法) Linux有沒有指令可以下 ...
grep "debian" -R /home/backup/blog筆記/ 結尾必須是目錄 grep "debian" -IR /home/backup/blog筆記/ 若要忽略二進位檔,加參數-I (大寫的i)
#92. findstr - Windows 上的grep (快速搜尋文件) - Yowko's Notes
findstr [/b] [/e] [/l] [/r] [/s] [/i] [/x] [/v] [/n] [/m] [/o] [/p] [/offline] [/g:file] [/f:file] [/c:string] [/d:dirlist] [/a:ColorAttribute] ...
#93. grep 搜尋目錄下所有檔案字串@ Johnson峰的部落格
grep 搜尋目錄下所有檔案字串grep 是Linux 下十分好用的工具, 可以搜尋檔案或經管線輸入的字串, grep 的基本用法是: $ grep 'search_word' file_nam.
#94. R commands(11.09.13) 指令用法簡介
R 有哪些指令可用,所以整理此表以供簡單查詢,詳細用法請見參考資料。 指令. 用法簡介. 基本操作 source("路徑") ... grep(pattern,x,ignore.case=T).
#95. R语言中的正则表达式 - CCM Blog
grep,grepl函数搜索字符串中是否符合正则表达式,返回行标或逻辑向量 · regexpr,gregexpr,regexec返回正则表达式匹配开始的字符位置,及匹配的字符个数 ...
#96. linux指令-grep & 正規表示式
-r :收尋指定目錄下的所有檔案,包含指定目錄下的目錄下的檔案,反正,就是目錄下的任何檔案啦~ [範例]: [root@host ~]# grep 'root' /var/log/ ...
#97. 常用的R 內建函式4
grep () 函式在文字向量中尋找的某一個特定式樣(pattern), 並且傳回文文字向量的下標(in- dex). > data(state). > state.name[47:50]. [1] "Washington".
#98. Ubuntu 用grep 顯示符合字串的前後n 行
上面這一行算是最簡單的用法,在實務上,阿舍要搜尋的是家目錄下的「articles」這個資料夾下的所有 ... grep -R -i -h -A3 -B3 "xyz" ~/articles/*.
#99. Linux grep命令用法_關於Unix - Linux教程網
grep 用以在file內文中比對相對應的部分,或是當沒有指定檔案時, 由標准輸入中 ... -r, -recursive 遞歸地,讀取每個資料夾下的所有檔案,此相當於-d ...
#100. R sub vs gsub
默认是e grep 的规则,也可以选用Perl语言的规则。 在这里,我们以R中的 sub 函数为例(因为该函数可以返回替换 字符串 后的具体内容)介绍正则表达式的用法。
grep r用法 在 [程式] R的字串處理- 看板Statistics 的八卦
[軟體程式類別]:
R
[程式問題]:
資料處理
[軟體熟悉度]:
中(3個月到1年)
[問題敘述]:
最近常在處理字串
發現自己會的 function 很不夠用
想多學點 function
我列出一些我常用的
希望能拋磚引玉
請各位高手能教我一些高招
[程式範例]:
前言 :
R 的字串處理 ,
要小心注意 character , factor , numeric 這三種物件的誤轉換和混用
factor 是一種很討厭的物件 ,
因為它在轉成數字和字串的時候 ,
常常會變成跟原本不一樣的東西 ,
建議資料處理的過程 ,
預設用 matrix 和 character 兩種而避免使用 data.frame
------------------------------------------------------------------
1.字串黏合
paste ("A","B",sep="") ---->>> "AB"
2.字串切割
strsplit("A.B",split=".",fixed=T) ---->>> "A" "B"
3.精確穩合
x <- c("AB","AA")
x %in% "AB" ---->>> TRUE FALSE
4.部份吻合 + (回傳 which)
x <- c("AB","AA")
grep("B",x) ---->>> 1
grep("A",x) ---->>> 1 2
grep("B",x,value=T) ---->>> "AB"
grep("B",x,value=T,invert=T) ---->>> "AA"
grep("C",x) ---->>> integer(0)
#若目的是要找 index , 建議改用 grepl
4-2.部份吻合 + (回傳判斷式)
x <- c("AB","AA")
grepl("B",x) ---->>> TRUE FALSE
4-3.部份吻合 + (回傳位置) + (回傳??)
x <- c("BBB","AAA","CCB")
regexpr("B",x) ---->>> 1 -1 3 (第一次 "hit" 的位置)
1 -1 1 (有無 "hit")
5.子字串
substr("human123456",start=1,stop=5) ---->>> "human"
!!注意!! 4-3 的 regexpr
與這個 substr 結合起來 ,
在寫 網頁Parser 的時候很好用
regexpr 能定義出 statr=多少
所謂的網頁Parser
就是你去下載某些 html 檔案
檢視原始碼
然後找出你需要的資料
再找出一些能 cut 的規則
用 strsplit 搭配 TR , TD 之類的字串去切出你要的資料
6.特定字元取代 (1st hit)
x <- "AABB"
sub("A",replacement="C",x) ---->>> "CABB"
6-2.全部特定字元取代 (global hit)
x <- "AABB"
gsub("A",replacement="C",x) ---->>> "CCBB"
7.計算字串長度
### 盡量別用這個 fuction
x <- c("A","AAA","AAAAA")
nchar(x) ---->>> 1 3 5
nchar(as.factor(x)) ---->>> 1 1 1
8.多重字元(串)貼合 (矩陣內)
x <- matrix(letters[1:6],2,3)
apply(x,1,paste,collapse="") ---->>> "ace","bdf"
apply(x,2,paste,collapse="") ---->>> "abc","def"
9. 字元反轉
x <- c("A B","*.")
sapply(lapply(strsplit(as.character(x), NULL), rev), paste, collapse="")
[1] "B A" ".*"
10.字元檢查
x <- c("A B","*.")
unique(unlist(strsplit(as.character(x),split="",fixed=T)))
[1] "A" " " "B" "*" "."
-----------------------------------------------------------
Regular expression : 字串模糊比對 , 或特定字母排列模式的抓取
在R內
基本上分成3種
Basic regular expression (BRE) --> extended = FALSE
Extended regularexpression (ERE) --> extended = TRUE (預設)
perl-like (perl) --> perl = TRUE
雙冒號代表我測試過且成功
單冒號代表網路上抓下來或是測試失敗
--------------------------------------------------------------
通用部分
{,}
* :: {0, } 至少出現0次, 最多無限多次
+ :: {1, } 1 無限多次
? :: {0,1} 0 1
[Aa] :: A 或 a
[^1-9] :: not 1:9
[1-9] :: 1:9
[a-z] :: a b c ... z
[A-Z] :: A B C ... Z
[a-zA-Z] :: 所有英文字母
[W-z] :: WXYZabc....z
[w-Z] :: 不可使用!
(AB) :: 括號一次收集多個字元 ### 一種延伸字串的寫法
舉例 :
x <- c("company","companies",)
可以用以下兩種寫法
1. grep("[company|companies]",x)
2. grep("compan(y|ies)",x)
第二種在大資料的時候會比較快
$ :: 字尾限定
^ :: 字首限定
| :: "ABC|EFG" --> grep("ABC"or"DEF",x)
. :: 任意字元
-----------------------------------------------------
ERE , extended = TRUE
digit (數字)
\\d :: [0-9]
\\D :: [^0-9]
[[:digit:]] :: 同上
[^[:digit:]] :: 同上
blank (空白)
\\s :: 能切開 " " 或 "\t"
\\S :: 切開非空白及 tab 的字元
[[:blank:]] :: 同上
[^[:blank:]] :: 同上
AlphaBet + Digit (正常字元)
\\w :: [0-9a-zA-Z]
\\W :: [^0-9a-zA-Z]
[[:alnum:]] :: 同上
[^[:alnum:]] :: 同上
AlphaBet (英文字元)
[[:alpha:]] :: 同上
[^[:alpha:]] :: 同上
特殊符號
[[:punct:]] :: ! " # $ % & ' ( ) * + , - .
/ : ; < = > ? @ [ \ ] ^ _ ` { | } ~
[^[:punct:]] :: 英文字 , 數字 (注意! , \t 和 \n 都會被切掉)
注意 ! 正斜線這個符號很容易與其他 regular expr 混淆
必須仔細檢查 "\" 存在的字串
可印符號
[[:print]] :: 所有字元 (數字,字母,特殊符號,空白)
\n , \t , \001 除外
16進位字元
[[:xdigit:]] :: 16進位有關英文或數字
[0-9a-fA-F]
大小寫英文字元
[[:upper:]] :: 大寫英文字元 [A-Z]
[^[:upper:]] :: 非大寫 [^A-Z]
[[:lower:]] :: 小寫 [a-z]
[^[:lower:]] :: ^[a-z]
注意 "\t" 還是會被留下來
空白和換行等
[[:space:]] :: " " , \t , \n , \f , \r
(\f : 換行但不回到行頭)
(\r : 回到行頭並消除此行內所有的文字)
P.S. 這兩種不常用,當豆知識即可
[[:graph:]] :: [A-Za-z0-9]再加[["punct"]]
----------------------------------------------------------
perl = TRUE
\\w : [A-Za-z0-9_]
\\W : [^A-Za-z0-9_]
\\s : [\t\n\r\f]
\\S : [^\t\n\r\f]
\\d : [0-9]
\\D : [^0-9]
----------------------------------------------------------
regular expression 工事中 (未完)
感覺這篇被我當筆記來用了
reference:
1. https://www.rtfiber.com.tw/~changyj/
2. https://www.stat.psu.edu/~dhunter/R/html/base/html/regex.html
----------------------------------------------------------
大小寫切換
TRUTH <- c("Abc","ABC")
a <- gsub("(\\w)","\\L\\1",TRUTH,perl=TRUE) ---> "abc","abc"
b <- gsub("^(\\w)","\\U\\1",a,perl=TRUE) ---> "Abc","Abc"
同上 , 非常神秘的 Bug !?
T123 <- c("Tgfbr1","Cd320","Ndrg3","Aldoa","Bckdk","Tmed3","Hfe2")
> gsub( "(\\w)", "\\L\\1" , T123 , perl=T)
[1] "LTLgLfLbLrL1" "LCLdL3L2L0" "LNLdLrLgL3"
[4] "LALlLdLoLa" "LBLcLkLdLk" "LTLmLeLdL3"
[7] "LHLfLeL2"
> gsub( "(\\w)", "\\L\\1" , T123 , perl=TRUE)
[1] "tgfbr1" "cd320" "ndrg3" "aldoa" "bckdk" "tmed3"
[7] "hfe2"
---------------------------------------
消除多餘空白
> x <- "Hey! Apple "
> gsub(" {2,}","",x)
[1] "Hey! Apple" ### 容忍一個空白 , 但兩個以上至無限大則消除
---------------------------------------
在處理混合字串與數字的資料矩陣的時候
常常需要在 data.frame 和 matrix 之間切換
有時候會字串會被一些預設的空白字元夾住
ex:
"1" , "15" , "333"
經過轉換以後
" 1" , " 15" , "333" (fit 最長字串的長度)
> DATA <- gsub("^ *| *$",as.matrix(DATA))
---------------------------------------
### 一些參考的 pattern
1. "^\\d+$" ### 純數字的欄位 ###
2. "^ *| *$" ### 字首字尾的空白(搭配 gsub) ###
3. "^[0][\\.]{0,1}[0]*$" ### "0" "0.0" "0.00" "0.000" "0.0000" ,
bug 是 "0." "00"
####################################################################
放一些 linux 下的好用指令
光用 R 來做字串處理不夠用
原因在於若處理的檔案太大
光是讀進 R 就累死人
這邊主要是應用在檔案減肥
文字檔案
rs123\t0|1:0000\tAAAA
rs456\t1|0:0000\tBBBB
###################
橫向
grep [-w : word]
[-f : 給 pattern file]
[-F : 精確比對] ### 若要搜尋固定字串 , -F必下 (快超多)
1. cat 文字檔案|grep -w 'rs' ### 沒東西
2. cat 文字檔案|grep -w -F 'rs123' ### 出第一行
3. car 文字檔案|grep -w '^rs.*$' ### 二行皆出
###################
縱向
cut [-d : 用tab切開會是3個column的矩陣]
1. cut -d'\t' -f1,2 原檔 > 新檔 ### 留下 1 and 2 columns
###################
橫向
sed
1. sed -n '6,$p' 原檔 > 新檔 ### 從第六行開始 , print 至尾行
### 或可理解成, 把 1~5行切掉
2. sed 's/:\S*/HAHA/g' 原檔 > 新檔 ### s=取代 , g=global
### 把紅色的正規 pattern 取代成綠色
###################
當檔案有 10000000 rows , 讀不進 R 怎辦?
就算讀進 R , 資料太大一直 SWAP 電腦動不了怎麼辦?
經過一番苦戰
我建議以下的思考方式
0. 先透過上述方式
直接在終端機把檔案減肥
1. 檔案列數 <- system("wc -l 檔案",intern=TRUE)
LOOP <- ceiling(檔案列數 / 5000)
for(g in 1:LOOP) ### 用while可省前兩行
{ tmp <- read.table(檔案,skip=5000*(g-1),nrow=5000) ### 但我只熟 for
expr(中間的各種處理)
write.table(tmp,g)
Sys.sleep(5) ### 給一點時間讓電腦回氣
}
2. system("cat 小檔案1 小檔案2 小檔案3 .... > 總檔案") ### 檔案 rbind()
雖然不是最快的方法
但 Over night 是一定可以把檔案處理完的
以上
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.239.247
※ 編輯: gsuper 來自: 140.113.239.247 (07/02 22:21)
※ 編輯: gsuper 來自: 140.113.239.247 (07/02 22:22)
※ 編輯: gsuper 來自: 140.113.239.247 (07/02 22:48)
※ 編輯: gsuper 來自: 140.113.239.247 (07/02 23:12)
※ 編輯: gsuper 來自: 140.113.239.247 (07/02 23:30)
※ 編輯: gsuper 來自: 140.113.177.3 (07/03 01:41)
※ 編輯: gsuper 來自: 140.113.177.3 (07/03 03:12)
※ 編輯: gsuper 來自: 140.113.239.247 (07/03 21:39)
※ 編輯: gsuper 來自: 140.113.239.247 (07/08 10:32)
※ 編輯: gsuper 來自: 140.113.239.247 (07/08 17:19)
※ 編輯: gsuper 來自: 140.113.239.247 (07/08 17:28)
※ 編輯: gsuper 來自: 140.113.239.247 (08/03 22:45)
※ 編輯: gsuper 來自: 140.113.239.247 (08/03 22:47)
※ 編輯: gsuper 來自: 140.113.239.247 (09/03 21:49)
※ 編輯: gsuper 來自: 140.113.239.247 (09/03 21:55)
※ 編輯: gsuper 來自: 140.113.239.247 (09/03 22:02)
※ 編輯: gsuper 來自: 140.113.239.247 (09/03 22:03)
※ 編輯: gsuper 來自: 140.113.239.247 (09/03 22:19)
※ 編輯: gsuper 來自: 140.113.239.247 (09/03 23:10)
※ 編輯: gsuper 來自: 140.113.239.247 (09/03 23:35)
※ 編輯: gsuper 來自: 140.113.239.247 (09/03 23:44)
※ 編輯: gsuper 來自: 140.113.239.247 (09/21 22:26)
※ 編輯: gsuper 來自: 140.113.239.247 (09/21 22:54)
※ 編輯: gsuper 來自: 140.113.239.247 (09/29 13:26)
※ 編輯: gsuper 來自: 140.113.239.247 (10/04 13:54)
※ 編輯: gsuper 來自: 140.113.239.247 (10/04 14:02)
※ 編輯: gsuper 來自: 140.113.239.247 (12/03 17:13)
※ 編輯: gsuper 來自: 140.113.56.120 (12/21 02:15)
※ 編輯: gsuper 來自: 140.113.56.120 (12/29 03:27)
※ 編輯: gsuper 來自: 140.113.56.120 (12/29 03:28)
※ 編輯: gsuper 來自: 140.113.239.247 (02/17 16:33)
※ 編輯: gsuper 來自: 140.113.239.247 (02/21 12:43)
※ 編輯: gsuper 來自: 140.113.239.247 (06/12 19:52)
※ 編輯: gsuper 來自: 140.113.239.247 (06/12 19:52)
※ 編輯: gsuper 來自: 140.113.239.247 (11/09 14:28)
※ 編輯: gsuper 來自: 140.113.239.247 (11/09 14:32)
※ 編輯: gsuper 來自: 140.113.239.247 (11/09 18:58)
※ 編輯: gsuper 來自: 140.113.239.247 (11/09 19:03)
※ gsuper:轉錄至看板 R_Language 03/30 20:33
... <看更多>