常見的Linux命令--字符串截取命令


一、cut命令

  cut: 按照字表符或者指定分隔符截取字符串

  -d 指定分隔符

  -f 指定截取的列,多個列之間用“,”分隔

  示例:cut  -d  ":" -f1,3   /etc/passwd

二、print和printf命令

  命令格式:printf  "輸出格式輸出類型" “輸出內容”

  printf: 輸出指定的內容,通常與awk命令連用

  %ns   表示輸出字符串類型的個數

  %ni    表示輸出整數類型的個數

  %m.nf    表示輸出浮點數類型

  print: 與printf一樣,但是在輸出字符串時會自動換行

  示例:printf  "%s\t%s\t%s\t\n"   1 2 3

三、awk命令

  awk:可以按空格截取字符串

  命令格式:awk  '{條件1}{動作1}{條件2}{動作2}'

  BEGIN   在截取之前處理

  END  在截取之后處理

  FS  指定分隔符

  示例:df -h | grep vda1 | awk '{printf $1 "\t" $5}' |cut -d "%" -f1     # 使用awk統計根分區的使用率

     awk 'BEGIN{print "開始統計三班的成績"}END{print "成績統計結束"}{print  $2 "\t" $5}'   student.txt    # 統計學生的成績

        cat  /etc/passwd | grep  /bin/bash | grep  -v root | awk 'BEGIN{FS=":"}{print $1 "\t" $5}'     # 查找系統中的普通用戶

四、sed命令

  命令格式:sed [選項] ‘[動作]’

  sed: 將其他命令的輸出作為輸出的流編輯器

  -n  只輸出sed命令編輯過的信息

  -e  多個命令一起操作,多個操作之間用“;”隔開

  -i   保存修改后的內容到原文件

  動作命令包括

  a  在指定行后面追加指定字符串

  i    在指定行前面插入指定字符串

  d   刪除指定行

  c   按行替換

     s   按字符串替換   格式為:/s/新字符串/舊字符串/g

  p   打印行

   示例:sed  '2p'  ./sugar/student.txt    # 打印student.txt的第二行

      sed  '2a hahaha' student.txt   # 在student.txt文件的第二行后面追加字符串hahaha

         sed  '2i  hahaha\xixixi'  student.txt   # 在student.txt文件第二行前插入hahaha和xixixi

         sed  ‘2,4d’   student.txt    # 刪除student.txt文件的第二行到第四行

         sed  '2c  no such man' student.txt   # 將student.txt的第二行替換為no such man 

         sed '2s/HubuSugar/igoodful/g'  student.txt  # 將student.txt文件的HubuSugar替換成igoodful

         sed  -e '2d;3c no such man'  student.txt    # 刪除student.txt文件的第二行,同時將第三行替換為no such man

     

 

 

 


免責聲明!

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



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