linux學習之awk find

1.awk這個命令主要是匹配列,grep是匹配行進行一些動做
ide

cat data.txt | awk '{print $1}'   --挑出文檔中的第一列spa

wKioL1jh7ofTF3AtAAAZKSVc52U493.png-wh_50

cat data.txt | awk '{print $NF}' --打印出文檔中最後一列對象

awk '{print $NF}' data.txt  --與以上的操做同樣blog

cat /etc/passwd | sed 's/:/ /g' | awk '{print $1}'  顯示系統上全部的用戶,就是用了兩個動做先將文檔規範化,在將要的信息挑選出來文檔

wKiom1jh762QhK3sAAAZPM848k0346.png-wh_50

cat /etc/passwd | awk -F: '{print $1}' --與一條操做結果同樣,這裏添加的-F參數是以:爲分割並打印出了第一列get


ifconfig eth0 | grep "inet addr"| sed 's/:/ /g'| awk '{print $3}' --只打印出eth0的IP地址it

wKioL1jh8SiRniuJAAASR6YdLF8232.png

ifconfig eth0 | grep "inet addr" | awk '{print $2}' | awk -F: '{print $2}' --與上面一條命令同樣能夠實現一樣的效果io

awk在其中都是提取前面處理好的數據提取其中的列class


df -h | grep "/$" | awk '{print $5}' | sed 's/%//g'  --查看根分區的磁盤利用率awk

wKioL1jh8naRKboKAAAN1G_5G9A686.png


cat data.txt | awk '{print $NF}' | sed 's/^/&000: /' --在最後一列的前面加上000:+空格

cat data.txt | awk '{print "000:" $NF}  ----在最後一列的前面加上000:,這個是awk自帶的方法

wKiom1jh8zDzG5NBAAAV6x85zL4589.png-wh_50


2.find命令,主要是用來查詢系統下的一些文件或者目錄

find . -name "data.txt" --查找當前目錄下data.txt的文檔

wKioL1jh8-egWHeXAAALu1_48dA467.png


find . -maxdepth 1 -type f -name "*.txt" ---在當前目錄的第一級目錄下查找名字爲後綴是.txt的文件,增長maxdepth的參數

find . -maxdepth 1 -type f -name "*.txt" -mtime +2 --查看2天之前的,以目錄範圍和時間範圍一塊兒限制

wKioL1jh9Mqi6hjwAAARRJakKJk286.png

find . -maxdepth 1 -type f -name "*.txt" -mtime -1  --查看一天之內的


承接參數exec和承接命令xargs,能夠將前面的命令執行的結果當作後面一個命令的操做對象

find . -maxdepth 1 -type f -name "*.txt" -mtime -1 -exec rm -rf {} \;  --刪除一天之內的在一級目錄下某某文件

find . -maxdepth 1 -type f -name "*.txt" -mtime -1 -exec cp {} /tmp/ \;  --在cp後面的{}就是表明前面匹配到的文件,拷貝到/tmp/下

xargs 不能承接cp和mv這樣的命令,可是能夠承接刪除命令

find /tmp/ -maxdepth 1 -type f -name "data.txt" -mtime -1 | xargs rm -rf {} \;



find / -maxdepth 1 -size +20M -type f ---找到大於20M的文件,在根目錄的一級目錄下

find / -maxdepth 2 -size +20M -type f -exec mv {} /tmp/ \; --能夠將這些找到的文件移動到臨時文件下


以上的命令均可以承接處理,在結合一些語句就能夠編寫成腳本處理相應的一些數據文檔

相關文章
相關標籤/搜索