常用shell指令碼
阿新 • • 發佈:2022-03-22
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