亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

Linux中正則表達(dá)式與文件處理

時(shí)間:2024-07-20 12:42:45 Linux認(rèn)證 我要投稿
  • 相關(guān)推薦

Linux中正則表達(dá)式與文件處理

  在學(xué)習(xí)Linux認(rèn)證過程中,每個(gè)人會(huì)遇到每個(gè)人不同的問題,那么什么是正則表達(dá)式?下面yjbys小編就為大家詳細(xì)講解,希望對(duì)大家有所幫助!

  一、正則表達(dá)式

  1.簡(jiǎn)單的說正則表達(dá)式就是處理字符串的方法,它是以行為單位來進(jìn)行字符串的處理行為,正則表達(dá)式通過一些特殊符號(hào)的輔助,可以讓用戶輕易的達(dá)到查找,刪除,替換某特定字符串的處理程序

  2.grep在數(shù)據(jù)中查找一個(gè)字符串時(shí),是以整行為單位來進(jìn)行數(shù)據(jù)的選取的,也就是說假如一個(gè)文件內(nèi)有10行,那么其中兩行是有用的,那么就將這兩行顯示出來,其它的丟棄

  3.在bash當(dāng)中,我們知道通配符*可以用來表示任意個(gè)字符,但是正則表達(dá)式中的*表示不同的含義

  在正則表達(dá)式中,'.'表示的是一定有一個(gè)任意字符的意思

  在正則表達(dá)式中,'*'表示的是重復(fù)前一個(gè)字符0到無窮多次的意思

  4.基礎(chǔ)的正則表達(dá)式

  RE字符 意義

  ^word 查找行首為word的行

  word$ 查找結(jié)尾為word的行

  . 代表一定有一個(gè)任意的字符

  \ 轉(zhuǎn)義字符,將特殊字符的特殊意義去除

  * 重復(fù)前一個(gè)字符0個(gè)到無窮多個(gè)

  [list] 從字符集合里面選擇一個(gè)字符

  [n1-n2] 從要選擇的范圍里面選擇一個(gè)字符

  [^list] 從不是這個(gè)字符集合里面找出一個(gè)字符

  \{n,m\} 連續(xù)n到m個(gè)的前一個(gè)字符,\{n\}則是連續(xù)n個(gè)前一個(gè)字符,\{n,\}則是聯(lián)系n到無窮多個(gè)前一個(gè)字符

  二、sed 工具

  1 sed本省是一個(gè)管道命令,可以分析標(biāo)轉(zhuǎn)輸入,而且sed還可以將數(shù)據(jù)進(jìn)行替換,刪除,新增,選取特定行等功能

  2 sed的用法

  sed [-nefr] [動(dòng)作]

  -n 使用安靜模式,在一般模式中,所有來自stdin的數(shù)據(jù)一般都會(huì)被列出到屏幕上,但是如果加上-n這個(gè)參數(shù)的話,則只有經(jīng)過sed特殊處理的那一行才會(huì)被列出

  -e 直接在命令模式上進(jìn)行sed的動(dòng)作編輯

  -f 直接將sed的動(dòng)作寫在一個(gè)文件內(nèi),-f filename則可以執(zhí)行filename內(nèi)的sed動(dòng)作

  -r sed的動(dòng)作支持的是擴(kuò)展正則表達(dá)式的語法

  -i 直接修改文件的內(nèi)容,而不是由屏幕輸出

  3.動(dòng)作說明 n1,n2 function

  n1,n2不見得會(huì)存在,一般代表的是進(jìn)行的動(dòng)作的行數(shù)

  function有下面這些參數(shù)

  a:新增,a的后面可以接字符串,而這些字符串會(huì)在新的一行出現(xiàn),目前的下一行

  c:替換,c的后面可以接字符串,這些字符串可以替換n1,n2之間的行

  d:刪除,因?yàn)槭莿h除,所以d后面通常不接任何參數(shù)

  i:插入,i的后面可以接字符串,而這些字符串會(huì)在新的一行,目前的上一行

  p:打印,也就是將某個(gè)選擇的數(shù)據(jù)打印出來

  s:替換,可以直接進(jìn)行替換的工作

  三、文件的格式化以及相關(guān)處理

  1.格式化打印

  printf '打印內(nèi)容' 實(shí)際內(nèi)容

  關(guān)于C程序語言內(nèi),常見的變量格式

  %ns 那個(gè)n是數(shù)字,s代表的是string

  %nd 那個(gè)n是數(shù)字,d代表的是整數(shù)

  %N.nf 那個(gè)n與N都是數(shù)字,f代表浮點(diǎn)數(shù)

  2.文件比較工具diff

  diff就是用在比較兩個(gè)文件之間的區(qū)別,并且是行為單位來比較的,一般是用在ASCLL純文本文件的比較上

  diff的用法

  diff [-bBi] from_file to_file

  -b 忽略一行當(dāng)中僅有多個(gè)空白的區(qū)別

  -B 忽略空白行的區(qū)別

  -i 忽略大小寫的不同

  3.如果我們要將舊的文件升級(jí)成為新的文件時(shí),我們可以先利用diff比較出文件的區(qū)別,并將區(qū)別文件制作成為補(bǔ)丁文件,再由補(bǔ)丁文件更新舊文件即可。

  一般來說我們使用diff制作出來的比較文件通常擴(kuò)展名為。patch

  更新:patch -pN < patch_file

  還原:patch -R -pN < patch_file

【Linux中正則表達(dá)式與文件處理】相關(guān)文章:

linux常用基本命令(文件處理命令)11-29

Linux文件系統(tǒng)簡(jiǎn)介02-27

linux下etc/fstab文件的簡(jiǎn)介03-18

Linux btrfs文件系統(tǒng)及管理02-26

Linux文件系統(tǒng)操作命令大全03-09

linux文件系統(tǒng)基礎(chǔ)知識(shí)匯總03-09

Linux文件查找命令find和xargs詳解03-09

Linux系統(tǒng)下如何刪除文件夾01-11

Linux用戶/文件系統(tǒng)管理詳解02-27