1. 程式人生 > 其它 >常用shell指令碼

常用shell指令碼

1.統計檔案行數

#!/bin/bash
##方法一
wc -l ./code.txt | awk '{print $1}'

##方法二
awk '{print NR}' ./code.txt | tail -n 1

##方法三
awk 'ENG{print NR}' ./code.txt

##方法四
grep -c "" ./code.txt
##或者
grep -n "" ./code.txt | awk -F ":" "{print $1}"

##方法五
sed -n '$=' ./code.txt

2.列印檔案的最後5行

#!/bin/bash
tail -n 5 ./code.txt
tail -5 ./code.txt

##檢視檔案前5行
head -5 ./code.txt

##檢視檔案中間幾行
sed -n '5,10p' ./code.txt

3.輸出0到500中7的倍數

##方法一:正解
#!bin/bash
num=0
while (( $num<=500 ))
do
if (( $num%7==0 ))
then
    echo $num
fi
    let "num++"
done


##方法二:逆解,效率最高
#!bin/bash
num=0
while (( $num<=500 ))
do
    echo $num
     let "num+=7"
done

##方法一其他寫法
#!/bin/bash
for num in {0..500..7}; do  
  echo "${num}" 
done


#!/bin/bash
for num in {0..500};do
   [[ "((num%7))" -eq 0 ]] && echo "${num}"
done
exit 0

4.輸出第5行的內容

##方法一
head -n 5 nowcoder.txt | tail -n 1 

##方法二
sed -n 5p ./code.txt

5.列印空行的行號

##方法一
grep -n '^\s*$' ./nowcoder.txt | awk -F ":" '{print$1}'

##方法二
awk '/^\s*$/{print NR}' nowcoder.txt

##方法三
sed -n '/^\s*$/=' ./code.txt