Linux Shell編程 - 字符截取命令


01、字段提取命令 cut  =>   cut [選項] 文件名

    -f 列號: 提取第幾列

    -d 分隔符:按照指定分割符分割列

    例如:cut  -f  2,4(列號;,逗號可以多行提取)  student.txt  

       cut  -d “:” -f 1,3 /etc/passwd 

02、格式化輸出命令 printf 命令  => printf  ‘輸出類型輸出格式’  輸出內容

    輸出類型:

      %ns:輸出字符串。n 是數字指代輸出幾個字符

      %ni:輸出整數。n 是數字指代輸出幾個數字

      %m.nf:輸出浮點數。m是整數,n是小數

    輸出格式:

      \a:輸出警告聲音

      \b:輸出退格鍵,刪除鍵

      \f:清楚屏幕

      \n:換行

      \r:回車

      \t:水平輸出退格鍵

      \v:垂直輸出退格鍵

03、awk命令  =>  awk ‘條件1{動作1}條件2{動作2}....’  文件名  條件 (Pattern)

    動作(Action):

      格式化輸出

      流程控制語句

    例如:awk  ‘ { printf  $2  "\t"  $6"\n" } ’   student.txt

        $2、$6:代表第幾行

  BEGIN  => awk  ‘BEGIN{print "test !!"} { printf  $2  "\t"  $6"\n" } ’   student.txt 

      BEGIN 會在所有的數據處理完之前執行

      例如:FS內置變量

        cat /etc/passwd | grep "/bin/bash" | \ awk 'BEGIN {FS=":"} {printf $1 "\t" $3 "\n"}'

  END  =>   相反 :所有的數據處理完之后執行

04、sed 命令 :是一種幾乎包括在所有UNIX平台(包括Linux)的輕量級流編輯器。

        sed 主要是用來將數據進行選取、替換、刪除、新增的命令。  

  sed [選項] -‘[動作]’- 文件名

    -n:一般sed命令會把所有數據都輸出到屏幕,如果加入此選擇,則只會把經過sed命令處理的行輸出到屏幕

    -e:允許對輸入數據應用多條sed命令編輯

    -i:用sed的修改結果直接修改讀取數據的文件,而不是由屏幕輸出

    動作:

      

    打印,輸出指定行:sed  -n  ‘2p’ student.txt

    刪除:sed “2,4d” student.txt   =>  刪除2 -- 4行的數據,但是不修改文件本身 

       追加:sed ‘2a  Hello’   student.txt 在第二行后追加 hello

    插入:sed ‘2i  wrold Hello ’  student.txt  在第二行前插入兩行數據

    字符串替換:sed -i  ‘2s/99/55/g’ student.txt    把第2行的99替換成55

         加上 -i:連同文件一起修改,不加只是對打印修改

         加-e:sed -e ‘s/Liming/ads/g;s/Gao/ads/g’ student.txt

            同事把“Liming” 和 “Gao” 替換為ads

 05、排序命令  =>  sort [選項] 文件名

    選項:

      -f:忽略大小寫

      -n:以數值型進行排序,默認使用字符串型排序

      -r:反向排序

         -t:指定分隔符,默認是制表符

      -k n[,m]:按照指定的字段范圍排序。從第n字段開始,m字段結束(默認到行尾)

     例如:sort -t ":" -k 3,3 /etc/passwd (一般不需要)

      指定分隔符是 “:”,用第三字段開頭,第三字段結尾排序,就是只用第三字段排序(用戶UID排序)

 

 06、統計命令  =>  wc [選項] 文件名

    選項:

      -l:只統計行數

      -w:只統計單詞數

      -m:只統計字符數

  

 

 

 

 

 

 

 

 

 

      


免責聲明!

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



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