文本處理以及shell編程知識點

文本處理、shell

uniq
-d:僅顯示重復過的行
-c:顯示重復行的次數
-u:僅顯示不曾重復的行
sed的高級應用:
數據先存放到保持空間,然后在進入模式空間進行處理,按照規則依次輸出
awk
netstat -tan | awk ‘/^tcp/{state[$NF]++}END{for(i in state){print i,state[i]}}’
數組引用
若要遍歷數組的每個元素,要是用for循環
for(var in array){for-body}
注意:var會遍歷array的每個索引
split:
netstat -tan | awk ‘/^tcp\>/{split($5,ip,”:”);count[ip[1]]++}END{for(i in count){print i,count[i]}}’

常用的文本處理實例:
(一)、搜索IP地址
1、ifconfig eth0 | grep -o “\([[:digit:]]\{1,3\}\.\)\{3\}[[:digit:]]\{1,3\}”
2、ifconfig eth0 | sed -n ‘2p’ | awk ‘{print $2}’
(二)、分區利用率
1、df -h | awk ‘{print $5}’ | awk -F ‘%’ ‘{print $1}’
2、df -h | tr -s ‘ ‘ | cut -d ‘ ‘ -f 5
\1:引用前面所匹配的內容 適用于\(\)分組所匹配到的內容
&:vim模式或者sed模式,引用前面所匹配的內容
sed ‘s/quiet/& net\.ifnames=0/’ /etc/default/grub
例如:添加用戶bash、testbash、basher、nologin,找出當前系統中用戶名和默認shell類型相同的用戶
grep “\(^[[:alnum:]]\+\).*\1$” /etc/passwd

字符類
字符類 說明
[[:alpha:]] 小寫及大寫字母,等價于[a-zA-Z]
[[:alnum:]] 小寫和大寫字母及數字,等價于[a-zA-Z0-9]
[[:cntrl:]] 控制字符,如制表符(Tab)、換行符或反斜線
[[:digit:]] 數字0~9,等價于[0-9]
[[:graph:]] ASCII碼從33~126之間的可打印字符
[[:lower:]] 小寫字母,等價于[a-z]
[[:punct:]] 標點符號,包括問號、句號、逗號、冒號、分號、單引號、英文的重音符或中文的間隔號(`)、!、@、#、%、^、&、*、左右括號、左右中括號、左右大括號、正斜杠(/)、-、_
[[:upper:]] 大寫字母,等價于[A-Z]
[[:space:]] 空白字符,包括空格、水平制表符、垂直制表符、換行、換頁、回車
[[:xdigit:]] 十六進制字符,等價于[a-fA-F0-9]

通配符
元字符 作用
* 匹配0個或任意多個字符,也就是可以匹配任何內容
? 匹配任意一個字符
[] 匹配[ ]中任意一個字符
[-] 匹配括號中任意一個字符,-代表一個范圍,例如:[a-z]代表匹配一個小寫字母
[^] 邏輯非,表示匹配不是中括號內的一個字符,例如[^0-9]代表匹配一個不是數字的字符

shell編程
變量:
局部變量:生效范圍是當前shell進程;對當前shell之外的其他shell進程包括當前shell的子shell無效
環境變量:對當前shell和子shell均有效
本地變量:只對當前shell進程的代碼中有效
算數運算:
實現算數運算:
let var=算數表達式
var=$[算數表達式] 將算數表達式的結果賦值給var
變量作用域:
環境變量:當前shell以及子shell均有效
本地變量:當前shell以及函數內的變量均有效
局部變量:僅作用于函數體內部,當函數執行完成,局部變量會自動銷毀失效
數組:
聲明數組:declare -a array
-A array 聲明關聯數組
數組賦值:
array_name=(“value1” “value2″…)
引用數組元素:
${array[index]}
${array[@]} 數組所有元素
${array[*]}
${#array[*]}數組元素的個數

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/92622

(0)
SignalSignal
上一篇 2018-03-18 10:04
下一篇 2018-03-18 14:50

相關推薦

  • N26-第三周博客作業

    1、  列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 命令:who | cut -d' ' -f1 | sort –u 涉及知識點: l  who命令 作用:查看當前所有的登錄會話 l  cut命令 作用:將文本內容按照指定內容分割,然后取出指定字段。 常用選項: &…

    Linux干貨 2017-02-10
  • linux基礎入門之一

    一、計算機的組成與功能 計算機由硬件和軟件組成 硬件: 按馮·洛伊曼體系劃分 1、CPU:包括運算器、控制器、寄存器、緩存,對數據控制和計算 2、存儲器:內部存儲器、外部存儲器,對數據提供存儲功能 3、輸入設備:具有下指令,提供數據輸入 4、輸出設備:輸出數據加工的結果 軟件: 1、低級語言:匯編語…

    Linux干貨 2016-09-19
  • Linux上文件管理命令、元素據及時間戳、bash的工作特性回顯和命令展開、定義別名,命令引用。

    文件管理命令: mkdir 創建空目錄 語法: mkdir [選項]…目錄… 選項: -P:逐層創建目錄。 -v:顯示過程。 -m:直接給定權限。 注意:路徑的基名為命令作用對象?;窂奖仨毚嬖?。 示例 創建/tmp/x1/a/a1和/tmp/x1/b rmdir 移除空目錄 語法 rmdir [選項]…目錄&#8230…

    Linux干貨 2017-12-10
  • Linux基礎

    Linux入門以及文件重定向、用戶管理、軟件管理等

    Linux干貨 2018-03-17
  • find 和 壓縮工具

    find命令 一、find命令基本介紹 1、find作用 通過遍歷指定路徑實時查找符合條件的文件。 find工作特點 2、find工作特點 ?查找速度較慢 ?精確查找 ?實時查找 ?用戶只能搜索有讀取和執行權限的目錄 3、語法 find [OPTIONS]… [查找路徑] [查找條件] [處理方式] 查找路徑:指定…

    Linux干貨 2016-08-16
  • Linux系統啟動流程簡圖

    CentOS 系統啟動流程: POST 加電自檢   外部硬件是否都能存在和是否能正常工作ROM:COMS 芯片上的BIOS 基本輸入輸出 BOOT Sequence:   引導加載次序,也就磁盤上的MBR,bootloader 按次序查找各引導設備,第一人有引導程序的設備即為本次啟動用到的設備。 bootloaderr:引導加載器,程序…

    2017-05-13
欧美性久久久久