shell常用工具


1,變量:幾個特殊需要注意的變量,其它自定義變量不做闡述。

  1)$n:$0:該腳本名稱,$1....:代表第幾個參數;

  2)$#:獲取所有參數個數,常用於循環;

  3)$*,$@:代表命令行中所有參數。$*把所有參數看成一個整體,而$@把所有參數單獨看待,注意在for循環中使用時,加引號和不加引號的卻別($*和$@ 在不加引號的情況下是一致的結果;加了引號,$*則表示一個整體,$@則把參數分開);

  4)$?:代表最后一行命令執行狀態,0代表命令正常執行,非0則代表命令執行不正確,具體是什么數字,可以自定義;

2,cut工具:該工具即為‘剪’的意思,就是用來剪切數據用的。cut命令可以實現從文件中的每一行剪切字符、字節、字段,並且輸出。

  該工具有2個參數:-f(提取第幾列) ,-d(分割列的分隔符)

  例如:有如下數據,切分出第一列的數據

  vim cut.txt

    dong shen

    guan zhen

    wo  wo

    lai  lai

    le  le

  cut -f 1 -d  "  " cut.txt

 

3,sed工具:是一個流編輯器,每次處理一行內容。

  1)基本用法

    sed [選項參數]  ‘command’  filename

  2)選項參數說

 

選項參數

功能

-e

直接在指令列模式上進行sed的動作編輯。

  3)命令功能描述

 

命令

功能描述

a 

新增,a的后面可以接字串,在下一行出現

d

刪除

s

查找並替換 

  4)例子:   

    將“mei nv”這個單詞插入到sed.txt第二行下,打印

    sed '2a mei nv' sed.txt

 

4,awk工具:一個強大的文本分析工具。

  1)基本用法

 

    awk [選項參數] ‘pattern1{action1}  pattern2{action2}...filename

 

    pattern:表示AWK在數據中查找的內容,就是匹配模式  

 

    action:在找到匹配內容時所執行的一系列命令

  2)選項參數說

 

 

 

選項參數

功能

-F

指定輸入文件折分隔符

-v

賦值一個用戶定義變量

 

   3)例子:

    只顯示以root開頭的/etc/passwd的第一列和第七列,以逗號分割,且在行前面添加列名"begin print"在最后一行添加"end print"

     awk -F: 'BEGIN{print "begin print"} /^root/ {print $1","$7} END{print "end print"}' /etc/passwd

 

5,sort工具:對文件行進行排序,並將排序結果標准輸出。

  1) 基本語法

 sort(選項)(參數)

選項

說明

-n

依照數值的大小排序

-r

以相反的順序來排序

-t

設置排序時所用的分隔字符

-k

指定需要排序的列

   參數:指定待排序的文件列表

  2)實例

   vim sort.sh

 bb:40:5.4

 bd:20:4.2

 xz:50:2.3

 cls:10:3.5

 ss:30:1.6

根據第三列倒序排序

sort -t: -nrk 3 sort.sh

 

 

 

 

 

 

awk -F: '/^root/{print $7}' passwd


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM