awk程式設計

2021-09-20 07:02:12 字數 2664 閱讀 3912

cut 命令

-f : 指定第幾列

-d : 指定分割符

例子: cut -d ":" -f 1,3 /etc/passwd

應用:磁碟報警

printf 命令

printf '%s %s %s\n' 1 2 3 4 5 6

printf '%s' $(cat /etc/passwd)

注意: $(cat /etc/passwd)

awk 命令

awk '條件1條件2...' 檔名

例子awk '' student.txt

磁碟報警 df -h | awk ''

df -h | grep sda5 | awk '' | cut -d "%" -f 1

begin 在執行之前要執行的

awk 'begin '

end 在執行完後執行的

關係運算

awk '$6 >= 80 '

sed 命令

sed [選項] '[動作]' 檔名

選項-n:只輸出sed操作的第n行

-e:允許多個條件執行

-i:修改原檔案

動作a:新增行 sed '2a hello' test.txt 在第二行後追加hello

c:替換行 sed '2c hello' test.txt

i:插入行 sed '2i hello' test.txt 在第二行前加入hello

d:刪除行 sed '2,4d' test.txt 刪除2到4行資料

p:輸出行 sed -n '2p' test.txt

s:替換字串 sed '行s/舊字串/新字串/g'

排序sort [選項] 檔名

-f:忽略大小寫

-n:以數值排序

-r:取反

-t:指定分隔符

-k n[,m]:

統計命令

wc [選項] 檔名

-l 統計行數

-w 統計單詞數

-m 統計字元數

條件判斷

echo $? //檢視上一條命令是否正確 0:成功 非0:失敗

兩個檔案比較

檔案1 -nt 檔案2 檔案1比檔案2新

檔案1 -ot 檔案2 檔案2比檔案2舊

檔案1 -ef 檔案2 兩個檔案是否為同乙個檔案,判斷硬連線

邏輯-a 邏輯與

-o 邏輯或

! 邏輯非

-if 語句

if [ 判斷 ];then

程式fi

例子:rate=$(df -h | grep /dev/ada5 | awk '' | cut -d "%" -f1)

if [ $rate -ge 89 ];then

echo "/dev/ada5 is full"

if備份資料指令碼

date=$(date +%y%m%d)

size=$(du -sh /usr/local/mysql)

if [ -d /usr/local/mysql ]

then

echo 'date is : $date' > /tmp/dbback/db.txt

echo 'size is : $size' >> /tmp/dbback/db.txt

cd /tmp/dbback

tar -zcf mysql_$date.tar.gz /usr/local/mysql db.txt &>/dev/null

rm -rf /tmp/dbback/db.txt

else

mkdir /tmp/dbback

echo 'date is : $date' > /tmp/dbback/db.txt

echo 'size is : $size' >> /tmp/dbback/db.txt

cd /tmp/dbback

tar -zcf mysql_$date.tar.gz /usr/local/mysql db.txt &>/dev/null

rm -rf /tmp/dbback/db.txt

ifnmap 命令

判斷apache是否啟動

fifor 迴圈

for i in 1 2 3 4

doecho $i

done

批量解壓縮

ls *.tar.gz > ls.log

for i in $(cat ls.log)

dotar -zxf $i &>/dev/null

done

rm -rf ls.log

for((i=1;i<=100;i=i+1))

dos=$(($s+$i))

done

echo "$s"

while 語句

while [ 條件判斷 ]

do程式

done

until 語句

until [ 條件判斷 ]

do程式

done

awk程式設計

一 awk程式設計模型 awk程式由乙個主輸入迴圈維持,按行輸入,反覆執行,知道終止條件被觸發。awk定義了兩個特殊字段 begin 和 end,begin用於在主輸入迴圈 讀輸入檔案 之前執行,end用於在主輸入之後執行。二 awk幾種簡單的用法 注 input是乙個ascii檔案,其中包含三個空...

awk 程式設計

形式 awk options code filename 比如 awk f a filename 這裡用字元 a作為行分隔符,預設是空格 awk fmyscript awk filename in 如果 code 部分太長,或者要重用,可以寫成 awk指令碼 裡可以分成3部分。begin 條件 en...

awk程式設計

awk是linux 系統下的乙個強大的文字處理工具,常常和sed grep一起配合使用。主要功能就是將文字依行讀取,然後每行按照一定的分隔符隔開放進乙個array裡面並提供了函式對這些元素進行一定的處理分析。在awk中,檔案的每一行由域分隔符分開,每一項稱為乙個域。在不指明 f域分隔符的情況下,預設...