1、使用一條命令完成用換行符替換檔案中除字母以外所有內容
sed 's/[^a-zA-Z]/\n/g' [filename]
2、列印/etc/passwd第一個域以兩個數字結束的行
awk -F: '$1~/[0-9][0-9]$/{print $0}' /etc/passwd
3、用awk統計當前目錄下,所有檔案的大小,顯示單位為M
ls -l | awk '{size=size+$5}END{print " Total size:",size/1024/1024,"M"}'
4、使用一條命令實作將/etc/passwd的用戶名與家目錄互換(不要修改原檔案)
sed -r 's/([a-zA-Z0-9]*:)(.*:)([a-zA-Z0-9/]*:)([a-zA-Z0-9/-]*)/\3\2\1\4/' /etc/passwd
5、用ping命令撰寫一個測驗網路是否正常的腳本
ping -c4 $1 > /dev/null 2>&1
if [ $? -eq 0 ];then
echo 檢測網路正常
else
echo 檢測網路連接例外
fi
6、將eamil.htm檔案中的郵箱地址抓取出來,放入send.txt檔案中,并在檔案末行統計抓取的郵件地址數
cat email.htm | grep -i -E '^[a-z0-9_]+[a-z0-9_-]+@([a-z0-9]+[.])+[a-z0-9]+$' > send.txt
count=0
for line in `cat send.txt`
do
count++
done
echo "郵件地址總數:"$count >> send.txt
7、將/var目錄下所有大小為0的檔案,統一拷貝到/temp/sfile目錄下,并給所有檔案加上只讀權限(sfile目錄以存在,其他用戶可以訪問)
SourcePath="/var/"
NewPath="/temp/sfile/"
for line in `ls -l /var | awk '$1~/^-/{if($5 == 0){print $9}}'`
do
cp $SourcePath$line $NewPath
chmod a+r $NewPath$line
done
8、使用sed和grep兩種方式洗掉檔案中的注釋行以及空行(空行不包含空格)
cat filename | grep -v '^$' | grep -v '^[#]'
cat filename | sed '/^$/d' | sed '/^[#]/d'
9、在磁盤中查找是否有一個名字叫softconfig.sh的檔案,如果存在,找到后并將其拷貝到當前用戶的家目錄下,如果該檔案不存在,新
建并將本機的當前時間、ip地址、主機名、當前登錄用戶名稱資訊輸入到softconfig.sh文本中,并使其其他用戶都可對此檔案進行編輯。
(find命令可以查找一個檔案或目錄是否存在)
find -name softconfig.sh > /dev/null 2>&1
if[ $? -eq 0 ]
then
path=`find -name softfig.sh`
cp path ~
else
echo $(date) $(ifconfig ens33 | grep -o -E "inet ([0-9]{1,3}.)+[0-9]{1,3}" | awk '{print $2}') $(cat /etc/hostname) $(whoami) > softconfig.sh
fi
10、撰寫腳本用for回圈實作以下功能:判斷輸入的用戶名是否存在,如果不存在則創建該用戶并設定密碼,否則程式繼續提示用戶,提示重
新輸入新建用戶名稱(互動式采用read方式)
while ((1))
do
flag="T"
read -p "請輸入用戶名:" nn
for cc in `cat /etc/passwd`
do
if [ "$nn" == "${cc%%:*}" ]
then
flag="F"
break
fi
done
if [ "$flag" == "T" ]
then
echo "$nn不存在,將創建該用戶"
break
else
echo "$nn已存在,請重新輸入!"
continue
fi
done
read -p "請設定用戶"$nn"的密碼:" mm
useradd $nn
echo $mm | passwd --stdin $nn
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/69445.html
標籤:非技術區
