歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linux運維學習筆記

Linux運維學習筆記

日期:2017/3/3 11:19:06   编辑:Linux技術

今天在自學shell編程的過程中碰到一個題,是計算/etc/passwd文件中第10個用戶和第20個用戶的id號之和。在沒有使用head和tail的情況下,學習了另一個命令。

sed命令:

#####
#!/bin/bash
#vesion 2.0
echo "Add userid.id11 and id22."
#Made by abc
echo "Creation-time 20160720"
echo "Time Now: $(date +%Y-%m-%d)"

ID_Num11=$(cut -d: -f3 /etc/passwd | sed -n 11p)
echo "ID_Num11=$ID_Num11."

ID_Num22=$(cut -d: -f3 /etc/passwd | sed -n 22p)
echo "ID_Num22=$ID_Num22."

ID_SUM=$[$ID_Num11+$ID_Num22]
echo "The id sum: $ID_SUM."
#####
此處用到選項是-n,安靜模式,經過處理的行會被列出。將cut之後的內容送給sed後,列出第十一行的內容,也就是第十一個用戶的ID號。

第二個程序,寫一個腳本計算/etc/rc.d/init.d/functions和/etc/inittab文件的空白行數之和。

#####
#!/bin/bash
#vesion 2.1
#made by GJy
echo "Creation-time 2016720"
echo "Function:Count empty line"
echo "Date Now: $(date +%Y-%m-%d)"

line_num1=$(grep -n ^#[[:space:]]*$ /etc/inittab | wc -l)
echo "The empty line number of /etc/inittab is $line_num1"

line_num2=$(grep -n ^[[:space:]]*$ /etc/rc.d/init.d/functions | wc -l)
echo "The empty line number of /etc/rc.d/init.d/functions is $line_num2"

emptyline_sum=$[$line_num1+$line_num2]
echo "The sum of empty line is $emptyline_sum."

echo "END"
#####
用到的是grep正則表達式,grep -n 顯示匹配行及行號;此處則為匹配到的空行傳給wc命令,統計行數。

本文出自 “11808130” 博客,謝絕轉載!

Copyright © Linux教程網 All Rights Reserved