主頁 > 知識庫 > linux Shell學(xué)習(xí)筆記第一天

linux Shell學(xué)習(xí)筆記第一天

熱門標(biāo)簽:南京電銷外呼系統(tǒng)哪家好 萬利達(dá)綜合醫(yī)院地圖標(biāo)注點(diǎn) 外呼系統(tǒng)會封嗎 武漢AI電銷機(jī)器人 電銷機(jī)器人 深圳 地圖標(biāo)注如何弄全套標(biāo) 股票配資電銷機(jī)器人 在電子版地圖標(biāo)注要收費(fèi)嗎 實(shí)體店地圖標(biāo)注怎么標(biāo)

以下是Shell學(xué)習(xí)1-2天學(xué)習(xí)筆記

————————-我是分隔符—————————

硬件去執(zhí)行, 內(nèi)核與硬件之間進(jìn)行操作。

命令解析器。

shell腳本的組成元素


  1. 系統(tǒng)命令
  2. 文本處理工具(sort、grep、sed、awk…)
  3. 變量
  4. 條件判斷
  5. 環(huán)循結(jié)構(gòu)
  6. 函數(shù)

    Shell Scripts Center(SSC)

———————————————————————————-

非負(fù)Grep / awk

幾天。 統(tǒng)計(jì)Wc

Sort 排序 sort|head / sed
字段處理 awk

數(shù)據(jù)區(qū)域判斷 awk |wc

顯示文本: echo [選項(xiàng)] 文本

        -n 不要自動換行

        -e 解析轉(zhuǎn)義符

            a 發(fā)出警告音

            c 最后不加上換行符號

            f 換行

            r 回車

彩色文本


Echo –e “33[40;35m….]”

echo “Hello,world”


echo –e “33[40;35mHell,world33[0m"



sort [選項(xiàng)]輸入文件

    -o 輸出文件

    -d 按字典順序排序 a-z

    -n 按數(shù)字大小輸出 0-9

    -r 逆序輸出 z-a 9-0

    -k 指定分類是域上的數(shù)字分類

    -t 域分割符;用非空格或tab鍵分割域


more /etc/passwd 分頁顯示

sort –d /etc/passwd|more 中間的|是反倒符號。 將前面處理的交給后面處理     先排序。后分頁顯示


sort –k3 –n –r –t: /etc/passwd|more


從大到小

wc [參數(shù)] [文件名]

    -c 統(tǒng)計(jì)字符數(shù)量

    -l統(tǒng)計(jì)行數(shù)

    -w 統(tǒng)計(jì)單詞數(shù)量 空格區(qū)分


diff [選項(xiàng)] 文件/目錄 文件/目錄

diff /etc/passwd /etc/passwd.bak

    -q 僅顯示有無差異,不顯示詳細(xì)的信息

    -c 顯示全部內(nèi)文,并標(biāo)出不同之處。

    -b 不檢查空格字符的不同

    -B 不檢查空白行

    -r 比較子目錄中的文件。

grep 搜索匹配 支持正則表達(dá)式


grep

    -c 只打印匹配模式的行編號記數(shù)

    -I 在匹配文本時(shí)忽略大小寫

    -n 在每行前顯示其行編號

    -v 逆向輸出,打印不匹配的行

    -f file 要匹配的字符串列表在filezhong

grep ‘[Tt]his' file1.txt 設(shè)置大小寫

grep ‘^[^#]‘ file2.txt 不匹配行首


grep “s…n” file3.txt 匹配任意字符


sed 行編輯命令
    s 替代

    i 插入

    a 附加

    d    刪除全部匹配的行

    D    刪除首次匹配的行

sed可以做什么(”行”為基礎(chǔ))

    刪除

    改變

    添加

    插入

    替換

示例

sed –n '1,4p' /etc/passwd p是打印 -n 不顯示原文件 打印1-4行

sed ‘/80/D' file.txt 首次出現(xiàn)80的行進(jìn)行刪除

sed ‘s/var/usr/g' file.txt 將所有的var替換成usr g代表所有

sed '50,$s/help/man/g' file.txt 替換從50行到最后一行的help替換為man 前49不管

awk 可以處理列,也可以處理行,可以定位到第幾行,第幾列

awk [選項(xiàng)] ‘a(chǎn)wk腳本' 輸入文件

    -F fs 使用fs作為輸入記錄的字段分隔符 = sort –t

    -f filename 從文件filename讀取awk_script(awk腳本)

    -v var=value 為awk_script 設(shè)置變量

awk的內(nèi)置變量

變量 功能 默認(rèn)
FS =大寫F 輸入字段分隔符 空格或tab
RS 輸入記錄分隔符 換行
OFS =out FS 輸出字段分隔符 空格或tab
ORS 輸出記錄分隔符 換行
NF 常用 當(dāng)前記錄非空字段的編號  
NR 常用 從所有文件讀入的記錄號  

 

示例

awk –F : ‘{print NR,$1,$2}' /etc/passwd


awk –F : ‘{print NR,$1,$NF}' /etc/passwd $NF 提取最后一行

awk –F : ‘NR%10==5{PRINT nr,$0}' /etc/passwd NR= 當(dāng)前處理的行數(shù) 除10求余=5打印當(dāng)前的行數(shù),進(jìn)行輸出 $0 整行輸出,比如5、15、25 打印出來

awk –F : ‘NR==8,NR==13 {print NR,$0}' /etc/passwd 指定8行和13行。

awk工作原理(工具)


$NF $NR $1 第一列 $2 第二列 $0 一整行

實(shí)際測試

awk –F: ‘{print $1,$3}'/etc/passwd


awk –F: ‘{print $1,$NF}'/etc/passwd


awk –F: ‘{print NR,$1,$NF}'/etc/passwd NR行號


awk –F: ‘NR==5,NR==8{print NR,$1,$NF}'/etc/passwd 指定5-8行


awk –F: ‘NR%10==5{print NR,$1,$NF}'/etc/passwd 除10求余


課程示例測試

1、grep –v “-” file.txt 去除所有帶負(fù)號的數(shù)據(jù) -v顯示沒有的 沒有的話則顯示只有-的

2、wc -l file.txt顯示所有行數(shù) grep –v “-” file.txt |wc –l 統(tǒng)計(jì)所有沒有負(fù)數(shù)的

3、sort –n –r –k4 file.txt |sed –n '1p' 排序第四列 沒有分隔符(即空格),-n數(shù)字 –r 從大到小 sed管道 顯示第一行 sed –n不顯示原文件

    sort –n –r –k4 file.txt |head -1 讀取第一個(gè)數(shù)據(jù) head 第一行

4、awk ‘{if($NF>3){print $0}}' file.txt NF 最后一列大于3 則打印一整行

5、awk ‘{if($4>0,$415){print $0}}' file.txt 列出第四列 大于0小于15 輸出整行

    awk ‘{if($4>0,$415){print $0}}' file.txt |wc –l 顯示行數(shù)

練習(xí):


  1. grep和awk

    awk ‘{if($1>200801011){[print $0}}'file.txt

2、

處理命令回顧:

統(tǒng)計(jì)文本                wc

文本排序                sort

文本/目錄對比            diff

在文件中查找關(guān)鍵行        grep / sed

在行文本中添、刪、改    sed

在列文本中顯示指定列    awk

在列文本中進(jìn)行計(jì)算        awk

在列文本進(jìn)行條件選擇    awk

您可能感興趣的文章:
  • linux shell數(shù)組深入學(xué)習(xí)理解
  • linux shell腳本學(xué)習(xí)xargs命令使用詳解
  • Linux學(xué)習(xí)之CentOS(一)----在VMware虛擬機(jī)中安裝CentOS 7(圖文教程)
  • linux Shell學(xué)習(xí)筆記第三天
  • Linux shell腳本基礎(chǔ)學(xué)習(xí)詳細(xì)介紹(完整版)
  • linux Shell學(xué)習(xí)筆記第四天
  • linux Shell學(xué)習(xí)筆記第五天
  • linux Shell學(xué)習(xí)筆記最后一節(jié),溫故與知新
  • linux Shell學(xué)習(xí)筆記第二天
  • linux命令學(xué)習(xí)之10個(gè)網(wǎng)絡(luò)命令和監(jiān)控命令
  • Linux學(xué)習(xí)資料下載(電子書籍)
  • linux shell腳本基礎(chǔ)知識學(xué)習(xí)
  • Linux學(xué)習(xí)基礎(chǔ)教程
  • Linux命令學(xué)習(xí)總結(jié):詳解shutdown命令
  • Linux命令學(xué)習(xí)總結(jié):詳解reboot命令
  • Linux學(xué)習(xí)第一天——ssh登錄和軟件安裝詳解
  • 個(gè)人學(xué)習(xí)Linux知識總結(jié)
  • 快速自學(xué)Linux命令的4種方法

標(biāo)簽:武威 臺州 廣東 安徽 濟(jì)源 泰安 汕頭 濟(jì)寧

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《linux Shell學(xué)習(xí)筆記第一天》,本文關(guān)鍵詞  linux,Shell,學(xué)習(xí),筆記,第一天,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《linux Shell學(xué)習(xí)筆記第一天》相關(guān)的同類信息!
  • 本頁收集關(guān)于linux Shell學(xué)習(xí)筆記第一天的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章

    上一篇:用CE5.2版找武林外傳一級基址的方法(圖文教程)

    下一篇:linux Shell學(xué)習(xí)筆記第二天