1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      linux如何使用g命令 linux怎么使用gcc

      Linux sed 之G、H、g、h使用命令詳解

      1.把文本第1行讀入到內(nèi)存 模式空間(pattern space),相當于放到流程水線上處理吧

      成都創(chuàng)新互聯(lián)公司主營梓潼網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,重慶APP開發(fā),梓潼h5小程序開發(fā)搭建,梓潼網(wǎng)站營銷推廣歡迎梓潼等地區(qū)企業(yè)咨詢

      2.把處理好的結(jié)果存放到另一個內(nèi)存空間(hold space)相當于臨時的倉庫吧

      3.輸出處理結(jié)果,循環(huán)處理第2行,覆蓋清空(pattern space)、(hold space)至最后一行

      由于各種各樣的原因,比如用戶希望在某個條件下腳本中的某個命令被執(zhí)行,或者希望模式空間得到保留以便下一次的處理,都有可能使得sed在處理文件的時候不按照正常的流程來進行。這個時候,sed設置了一些高級命令來滿足用戶的要求。

      sed命令:

      不管是大寫還是小寫g、h都是在pattern space、hold space相互拷貝

      區(qū)別是 小寫代表清空原來數(shù)據(jù),大寫是保留原來數(shù)據(jù)在后面追加新數(shù)據(jù)

      案例

      圖解分析過程

      P:Pattern Space

      H:Hold Space

      藍色:Hold Space中的數(shù)據(jù)

      綠色:Pattern Space中的數(shù)據(jù)

      案例

      參考鏈接:

      Linux系統(tǒng)中g(shù)rep命令如何使用?常用參數(shù)有哪些?

      進行Linux系統(tǒng)維護的時候,想要在文本中快速搜索到你需要的東西,grep命令是非常不錯的選擇,它主要用于查找文件里符合條件的字符串,從而節(jié)省時間、提高工作效率。那么Linux系統(tǒng)中g(shù)rep命令如何使用?我們一起來看看詳細的內(nèi)容介紹。

      Linux grep命令用于查找文件里符合條件的字符串。

      grep指令用于查找內(nèi)容包含指定的范本樣式的文件,如果發(fā)現(xiàn)某文件的內(nèi)容符合所指定的范本樣式,預設grep指令會把含有范本樣式的那一列顯示出來。若不指定任何文件名稱,或是所給予的文件名為-,則grep指令會從標準輸入設備讀取數(shù)據(jù)。

      語法

      grep

      [-abcEFGhHilLnqrsvVwxy][-A顯示行數(shù)][-B顯示列數(shù)][-C顯示列數(shù)][-d進行動作][-e范本樣式][-f范本文件][--help][范本樣式][文件或目錄...]

      參數(shù)

      -a或--text:不要忽略二進制的數(shù)據(jù)。

      -A顯示行數(shù)或--after-context=顯示行數(shù):除了顯示符合范本樣式的那一列之外,并顯示該行之后的內(nèi)容。

      -b或--byte-offset:在顯示符合樣式的那一行之前,標示出該行第一個字符的編號。

      -B顯示行數(shù)或--before-context=顯示行數(shù):除了顯示符合樣式的那一行之外,并顯示該行之前的內(nèi)容。

      -c或--count:計算符合樣式的列數(shù)。

      -C顯示行數(shù)或--context=顯示行數(shù)或-顯示行數(shù):除了顯示符合樣式的那一行之外,并顯示該行之前后的內(nèi)容。

      -d動作或--directories=動作:當指定要查找的是目錄而非文件時,必須使用這項參數(shù),否則grep指令將回報信息并停止動作。

      -e范本樣式或--regexp=范本樣式:指定字符串做為查找文件內(nèi)容的樣式。

      -E或--extended-regexp:將樣式為延伸的正則表達式來使用。

      -f規(guī)則文件或--file=規(guī)則文件:指定規(guī)則文件,其內(nèi)容含有一個或多個規(guī)則樣式,讓grep查找符合規(guī)則條件的文件內(nèi)容,格式為每行一個規(guī)則樣式。

      -F或--fixed-regexp:將樣式視為固定字符串的列表。

      -G或--basic-regexp:將樣式視為普通的表示法來使用。

      -h或--no-filename:在顯示符合樣式的那一行之前,不標示該行所屬的文件名稱。

      -H或--with-filename:在顯示符合樣式的那一行之前,表示該行所屬的文件名稱。

      ………………

      參數(shù)較多,就不為大家一一講解了!

      Linux文本匹配命令grep與fgrep使用全解

      Linux中g(shù)rep與fgrep命令的使用,兩個命令的使用都與文本的搜索與匹配相關(guān),是Linux入門學習中的基礎知識,接下來是我為大家收集的Linux文本匹配命令grep與fgrep使用全解,希望能幫到大家。

      Linux文本匹配命令grep與fgrep使用全解

      grep

      grep (global search regular expression(RE) and print out the line,全面搜索正則表達式并把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹配的行打印出來。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的擴展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它們把所有的字母都看作單詞,也就是說,正則表達式中的元字符表示回其自身的字面意義,不再特殊。Linux使用GNU版本的grep。它功能更強,可以通過-G、-E、-F命令行選項來使用egrep和fgrep的功能。

      grep的工作方式是這樣的,它在一個或多個文件中搜索字符串模板。如果模板包括空格,則必須被引用,模板后的所有字符串被看作文件名。搜索的結(jié)果被送到屏幕,不影響原文件內(nèi)容。

      grep可用于shell腳本,因為grep通過返回一個狀態(tài)值來說明搜索的狀態(tài),如果模板搜索成功,則返回0,如果搜索不成功,則返回1,如果搜索的文件不存在,則返回2。我們利用這些返回值就可進行一些自動化的文本處理工作。

      grep --help

      匹配模式選擇:

      -E, --extended-regexp 擴展正則表達式egrep

      -F, --fixed-strings 一個換行符分隔的字符串的集合fgrep

      -G, --basic-regexp 基本正則

      -P, --perl-regexp 調(diào)用的perl正則

      -e, --regexp=PATTERN 后面根正則模式,默認無

      -f, --file=FILE 從文件中獲得匹配模式

      -i, --ignore-case 不區(qū)分大小寫

      -w, --word-regexp 匹配整個單詞

      -x, --line-regexp 匹配整行

      -z, --null-data 一個 0 字節(jié)的數(shù)據(jù)行,但不是空行

      雜項:

      -s, --no-messages 不顯示錯誤信息

      -v, --invert-match 顯示不匹配的行

      -V, --version 顯示版本號

      --help 顯示幫助信息

      --mmap use memory-mapped input if possible

      輸入控制:

      -m, --max-count=NUM 匹配的最大數(shù)

      -b, --byte-offset 打印匹配行前面打印該行所在的塊號碼。

      -n, --line-number 顯示的加上匹配所在的行號

      --line-buffered 刷新輸出每一行

      -H, --with-filename 當搜索多個文件時,顯示匹配文件名前綴

      -h, --no-filename 當搜索多個文件時,不顯示匹配文件名前綴

      --label=LABEL print LABEL as filename for standard input

      -o, --only-matching 只顯示一行中匹配PATTERN 的部分

      -q, --quiet, --silent 不顯示任何東西

      --binary-files=TYPE 假定二進制文件的TYPE 類型;

      TYPE 可以是`binary', `text', 或`without-match'

      -a, --text 匹配二進制的東西

      -I 不匹配二進制的東西

      -d, --directories=ACTION 目錄操作,讀取,遞歸,跳過

      -D, --devices=ACTION 設置對設備,F(xiàn)IFO,管道的操作,讀取,跳過

      -R, -r, --recursive 遞歸調(diào)用

      --include=PATTERN 只查找匹配FILE_PATTERN 的文件

      --exclude=PATTERN 跳過匹配FILE_PATTERN 的文件和目錄

      --exclude-from=FILE 跳過所有除FILE 以外的文件

      -L, --files-without-match 匹配多個文件時,顯示不匹配的文件名

      -l, --files-with-matches 匹配多個文件時,顯示匹配的文件名

      -c, --count 顯示匹配了多少次

      -Z, --null 在FILE 文件最后打印空字符

      文件控制:

      -B, --before-context=NUM 打印匹配本身以及前面的幾個行由NUM控制

      -A, --after-context=NUM 打印匹配本身以及隨后的幾個行由NUM控制

      -C, --context=NUM 打印匹配本身以及隨后,前面的幾個行由NUM控制

      -NUM 根-C的用法一樣的

      --color[=WHEN],

      --colour[=WHEN] 使用標志高亮匹配字串;

      -U, --binary 使用標志高亮匹配字串;

      -u, --unix-byte-offsets 當CR 字符不存在,報告字節(jié)偏移(MSDOS 模式)

      例:

      測試文件

      復制代碼

      代碼如下:

      root:x:0:0:root:/root:/bin/bash

      bin:x:1:1:bin:/bin:/bin/false,aaa,bbbb,cccc,aaaaaa

      DADddd:x:2:2:daemon:/sbin:/bin/false

      mail:x:8:12:mail:/var/spool/mail:/bin/false

      ftp:x:14:11:ftp:/home/ftp:/bin/false

      nobody:$:99:99:nobody:/:/bin/false

      zhangy:x:1000:100:,,,:/home/zhangy:/bin/bash

      http:x:33:33::/srv/http:/bin/false

      dbus:x:81:81:System message bus:/:/bin/false

      hal:x:82:82:HAL daemon:/:/bin/false

      mysql:x:89:89::/var/lib/mysql:/bin/false

      aaa:x:1001:1001::/home/aaa:/bin/bash

      ba:x:1002:1002::/home/zhangy:/bin/bash

      test:x:1003:1003::/home/test:/bin/bash

      @zhangying:*:1004:1004::/home/test:/bin/bash

      policykit:x:102:1005:Po

      a,匹配含有root的行

      復制代碼

      代碼如下:

      [root@krlcgcms01 test]# grep root test

      root:x:0:0:root:/root:/bin/bash

      b,匹配以root開頭或者以zhang開頭的行,注意反斜杠

      復制代碼

      代碼如下:

      [root@krlcgcms01 test]# cat test |grep '^\(root\|zhang\)'

      root:x:0:0:root:/root:/bin/bash

      zhangy:x:1000:100:,,,:/home/zhangy:/bin/bash

      c,匹配以root開頭或者以zhang開頭的行,注意反斜杠,根上面一個例子一樣,-e默認是省去的

      [root@krlcgcms01 test]# cat test |grep -e '^\(root\|zhang\)'

      root:x:0:0:root:/root:/bin/bash

      zhangy:x:1000:100:,,,:/home/zhangy:/bin/bash

      d,匹配以zhang開頭,只含有字母

      復制代碼

      代碼如下:

      [root@krlcgcms01 test]# echo 'zhangying' |grep '^zhang[a-z]*$'

      zhangying

      e,匹配以bin開頭的行,用的egrep,在這里可以換成-F,-G

      復制代碼

      代碼如下:

      [root@krlcgcms01 test]# cat test |grep -E '^bin'

      bin:x:1:1:bin:/bin:/bin/false,aaa,bbbb,cccc,aaaaaa

      f,在匹配的行前面加上該行在文件中,或者輸出中所在的行號

      復制代碼

      代碼如下:

      [root@krlcgcms01 test]# cat test|grep -n zhangy

      7:zhangy:x:1000:100:,,,:/home/zhangy:/bin/bash

      13:ba:x:1002:1002::/home/zhangy:/bin/bash

      15:@zhangying:*:1004:1004::/home/test:/bin/bash

      g,不匹配以bin開頭的行,并顯示行號

      復制代碼

      代碼如下:

      [root@krlcgcms01 test]# cat test|grep -nv '^bin'

      root:x:0:0:root:/root:/bin/bash

      DADddd:x:2:2:daemon:/sbin:/bin/false

      mail:x:8:12:mail:/var/spool/mail:/bin/false

      ftp:x:14:11:ftp:/home/ftp:/bin/false

      nobody:$:99:99:nobody:/:/bin/false

      zhangy:x:1000:100:,,,:/home/zhangy:/bin/bash

      http:x:33:33::/srv/http:/bin/false

      dbus:x:81:81:System message bus:/:/bin/false

      hal:x:82:82:HAL daemon:/:/bin/false

      mysql:x:89:89::/var/lib/mysql:/bin/false

      aaa:x:1001:1001::/home/aaa:/bin/bash

      ba:x:1002:1002::/home/zhangy:/bin/bash

      test:x:1003:1003::/home/test:/bin/bash

      @zhangying:*:1004:1004::/home/test:/bin/bash

      policykit:x:102:1005:Po

      h,顯示匹配的個數(shù),不顯示內(nèi)容

      復制代碼

      代碼如下:

      [root@krlcgcms01 test]# cat test|grep -c zhang

      3

      i,匹配system,沒有加-i沒有匹配到東西。

      復制代碼

      代碼如下:

      [root@krlcgcms01 test]# grep system test

      [root@krlcgcms01 test]# grep -ni system test

      9:dbus:x:81:81:System message bus:/:/bin/false

      j,匹配zhan沒有匹配到東西,匹配zhangy能匹配到,因為在test文件中,有zhangy這個單詞

      復制代碼

      代碼如下:

      [root@krlcgcms01 test]# cat test|grep -w zhan

      [root@krlcgcms01 test]# cat test|grep -w zhangy

      zhangy:x:1000:100:,,,:/home/zhangy:/bin/bash

      ba:x:1002:1002::/home/zhangy:/bin/bash

      k,在這里-x后面東西,和輸出中的整行相同時,才會輸出

      [root@krlcgcms01 test]# echo "aaaaaa" |grep -x aaa

      [root@krlcgcms01 test]# echo "aaaa" |grep -x aaaa

      aaaa

      l,最多只匹配一次,如果把-m 1去掉的話,會有三個

      復制代碼

      代碼如下:

      [root@krlcgcms01 test]# cat test |grep -m 1 zhang

      zhangy:x:1000:100:,,,:/home/zhangy:/bin/bash

      m,匹配行的前面顯示塊號,這個塊號是干什么的,不知道,有誰知道可否告訴我一下

      復制代碼

      代碼如下:

      [apacheuser@krlcgcms01 test]$ cat test |grep -b zha

      241:zhangy:x:1000:100:,,,:/home/zhangy:/bin/bash

      480:ba:x:1002:1002::/home/zhangy:/bin/bash

      558:@zhangying:*:1004:1004::/home/test:/bin/bash

      n,多文件匹配時,在匹配的行前面加上文件名

      復制代碼

      代碼如下:

      [apacheuser@krlcgcms01 test]$ grep -H 'root' test test2 testbak

      test:root:x:0:0:root:/root:/bin/bash

      test2:root

      testbak:root:x:0:0:root:/root:/bin/bash

      o,多文件匹配時,在匹配的行前面不加上文件名

      復制代碼

      代碼如下:

      [apacheuser@krlcgcms01 test]$ grep -h 'root' test test2 testbak

      root:x:0:0:root:/root:/bin/bash

      root

      root:x:0:0:root:/root:/bin/bash

      p,多文件匹配時,顯示匹配文件的文件名

      復制代碼

      代碼如下:

      [apacheuser@krlcgcms01 test]$ grep -l 'root' test test2 testbak DAta

      test

      test2

      testbak

      q,沒有-o時,有一行匹配,這一行里面有3個root,加上-o后,這個3個root就出來了

      復制代碼

      代碼如下:

      [apacheuser@krlcgcms01 test]$ grep 'root' test

      root:x:0:0:root:/root:/bin/bash

      [apacheuser@krlcgcms01 test]$ grep -o 'root' test

      root

      root

      root

      r,遞歸顯示匹配的內(nèi)容,在test目錄下面建個mytest目錄,copy test目錄下面的test文件到mytest下面,能看到上面的結(jié)果

      復制代碼

      代碼如下:

      [root@krlcgcms01 test]# grep test -R /tmp/test/mytest

      /tmp/test/mytest/test:test:x:1003:1003::/home/test:/bin/bash

      /tmp/test/mytest/test:@zhangying:*:1004:1004::/home/test:/bin/bash

      s,顯示匹配root后面的3行

      復制代碼

      代碼如下:

      [root@krlcgcms01 test]# cat test |grep -A 3 root

      root:x:0:0:root:/root:/bin/bash

      bin:x:1:1:bin:/bin:/bin/false,aaa,bbbb,cccc,aaaaaa

      daemon:x:2:2:daemon:/sbin:/bin/false

      mail:x:8:12:mail:/var/spool/mail:/bin/false

      fgrep

      用法: fgrep [選項]... PATTERN [FILE]...

      在每個 FILE 或是標準輸入中查找 PATTERN。

      PATTERN 是一組由斷行符分隔的定長字符串。

      例如: fgrep -i 'hello world' menu.h main.c

      正則表達式選擇與解釋:

      -e, --regexp=PATTERN 用 PATTERN 來進行匹配操作

      -f, --file=FILE 從 FILE 中取得 PATTERN

      -i, --ignore-case 忽略大小寫

      -w, --word-regexp 強制 PATTERN 僅完全匹配字詞

      -x, --line-regexp 強制 PATTERN 僅完全匹配一行

      -z, --null-data 一個 0 字節(jié)的數(shù)據(jù)行,但不是空行

      雜項:

      -s, --no-messages 不顯示錯誤信息

      -v, --invert-match 選中不匹配的行

      -V, --version 顯示版本信息并退出

      --help 顯示此幫助并退出

      --mmap 忽略向后兼容性

      Output control:

      -m, --max-count=NUM 匹配的最大數(shù)

      -b, --byte-offset 打印匹配行前面打印該行所在的塊號碼

      -n, --line-number 顯示的加上匹配所在的行號

      --line-buffered 刷新輸出每一行

      -H, --with-filename 當搜索多個文件時,顯示匹配文件名前綴

      -h, --no-filename 當搜索多個文件時,不顯示匹配文件名前綴

      --label=LABEL use LABEL as the standard input file name prefix

      -o, --only-matching 只顯示一行中匹配PATTERN 的部分

      -q, --quiet, --silent 不顯示所有輸出

      --binary-files=TYPE 假定二進制文件的TYPE 類型;

      TYPE 可以是`binary', `text', 或`without-match'

      -a, --text 等同于 --binary-files=text

      -I 等同于 --binary-files=without-match

      -d, --directories=ACTION 操作目錄的方式;

      ACTION 可以是`read', `recurse',或`skip'

      -D, --devices=ACTION 操作設備、先入先出隊列、套接字的方式;

      ACTION 可以是`read'或`skip'

      -R, -r, --recursive 等同于 --directories=recurse

      --include=FILE_PATTERN 只查找匹配FILE_PATTERN 的文件

      --exclude=FILE_PATTERN 跳過匹配FILE_PATTERN 的文件和目錄

      --exclude-from=FILE 跳過所有除FILE 以外的文件

      --exclude-dir=PATTERN 跳過所有匹配PATTERN 的目錄。

      -L, --files-without-match 只打印不匹配FILEs 的文件名

      -l, --files-with-matches 只打印匹配FILES 的文件名

      -c, --count 只打印每個FILE 中的匹配行數(shù)目

      -T, --initial-tab 行首tabs 分隔(如有必要)

      -Z, --null 在FILE 文件最后打印空字符

      文件控制:

      -B, --before-context=NUM 打印以文本起始的NUM 行

      -A, --after-context=NUM 打印以文本結(jié)尾的NUM 行

      -C, --context=NUM 打印輸出文本NUM 行

      -NUM 等同于 --context=NUM

      --color[=WHEN],

      --colour[=WHEN] 使用標志高亮匹配字串;

      WHEN 可以是`always', `never'或`auto'

      -U, --binary 不要清除行尾的CR 字符(MSDOS 模式)

      -u, --unix-byte-offsets 當CR 字符不存在,報告字節(jié)偏移(MSDOS 模式)

      ‘fgrep’已不再使用了;請用 ‘grep -F’代替。

      不帶 FILE 參數(shù),或是 FILE 為 -,將讀取標準輸入。如果少于兩個 FILE 參數(shù)

      就要默認使用 -h 參數(shù)。如果選中任意一行,那退出狀態(tài)為 0,否則為 1;

      如果有錯誤產(chǎn)生,且未指定 -q 參數(shù),那退出狀態(tài)為 2。

      例:

      復制代碼

      代碼如下:

      [root@linux test]# cat abc.sh |fgrep a #匹配含有a的

      看了“Linux文本匹配命令grep與fgrep使用全解”還想看:

      1. linux grep命令詳解

      2. 全面解析Linux的grep命令中正則表達式的用法

      3. Linux下如何使用grep命令搜索多個單詞

      4. 開發(fā)人員常用什么linux命令


      文章標題:linux如何使用g命令 linux怎么使用gcc
      網(wǎng)頁URL:http://www.ef60e0e.cn/article/doepgcs.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        双牌县| 山阳县| 黄浦区| 平度市| 胶州市| 东乡族自治县| 灵台县| 册亨县| 江孜县| 驻马店市| 盐边县| 壤塘县| 枣庄市| 碌曲县| 锡林浩特市| 托克托县| 准格尔旗| 定边县| 盐池县| 扎囊县| 小金县| 长泰县| 巨野县| 拉孜县| 婺源县| 突泉县| 安乡县| 大城县| 湖北省| 台北市| 新绛县| 济南市| 亳州市| 温泉县| 通辽市| 富裕县| 家居| 陆河县| 峨边| 扎赉特旗| 忻城县|