實用的四個shell程式設計題
4個用來測試自己shell程式設計能力的題(面試題),同時也是比較實用的四個小指令碼。源自leetcode
1. 詞頻統計
統計文字content.txt中每個單詞的出現的頻率,不區分大小寫,不統計數字和符號
cat content.txt | awk '{for(i=1;i<=NF;i++){count[$i]++}} END{for(i in count){print i"\t" count[i]}}' | sort -k2nr | head -n 10
cat content.txt | tr '[:upper:]' '[:lower:]' | tr -cs '[:alpha:]' '\n' | sort | uniq -c | sort -rn | head -n 10
2. 合法號碼判斷
xxx-xxx-xxxx 或 (xxx) xxx-xxxx格式的為合法號碼
grep -E "^([0-9]{3}-|\([0-9]{3}\) )[0-9]{3}-[0-9]{4}$" file.txt
sed -n -r '/^([0-9]{3}-|\([0-9]{3}\) )[0-9]{3}-[0-9]{4}$/p' file.txt
awk '/^([0-9]{3}-|\([0-9]{3}\) )[0-9]{3}-[0-9]{4}$/' file.txt
3. 文字行列轉置
即寫一個指令碼,文字內容如下
one phone
1 2
wen feng
通過執行反轉指令碼後,輸出內容如下
one 1 wen
phone 2 feng
可執行指令碼1
awk '
{
for (i=1; i<=NF; i++) {
if (NR == 1){
tmp[i] = $i;
} else {
tmp[i] = tmp[i] " " $i;
}
}
}
END {
for (i=1; tmp[i] != ""; i++){
print tmp[i];
}
}' file.txt可執行指令碼2
count=
head -n 1 file.txt | wc -w
for i in
seq 1 $count
do
echocut -d ' ' -f $i file.txt
done
4. 顯示檔案file.txt的第n行資訊
awk 'NR==10' file.txt
awk '{ if(NR==10) print $0 }' file.txt
awk '{ if(NR==10) print}' file.txt
head -n 10 file.txt | tail -n 1
(當行數不小於10時,正確)shell script
count=0
while read line && [ $count -le 10 ];do
let 'count++'
[ $count -eq 10 ] && echo $line && exit
done < file.txt
5. 參考
相關文章
- shell程式設計(四)引號程式設計
- Linux的shell程式設計(四)(轉)Linux程式設計
- 四個經典的SQL程式設計問題SQL程式設計
- 程式設計師程式設計的10個實用技巧程式設計師
- Linux Shell程式設計(2)——第一個shell程式Linux程式設計
- shell程式設計(四)| grep正規表示式程式設計
- shell程式設計(四)| sed 正規表示式程式設計
- 10個非常實用的程式設計技巧程式設計
- shell程式設計程式設計
- Linux Shell程式設計(1)——shell程式設計簡介Linux程式設計
- Shell程式設計 --- Shell介紹程式設計
- Linux Shell 程式設計實戰技巧Linux程式設計
- shell程式設計例項--實現累加程式設計
- 四個級別的 “自由” 程式設計師程式設計師
- 幾個shell程式設計小知識(轉)程式設計
- Windows Shell 程式設計Windows程式設計
- shell程式設計(轉)程式設計
- Shell程式設計-shell變數1程式設計變數
- Bourne Shell及shell程式設計(轉)程式設計
- MySQL程式設計中的6個重要的實用技巧MySql程式設計
- 兩道shell指令碼的程式設計題(sed與awk)指令碼程式設計
- Shell程式設計-09-Shell中的函式程式設計函式
- 解決程式設計難題的實用方法指南 - praeclarum程式設計
- 一個 IT 青年程式設計四年的感悟程式設計
- 程式設計師幽默:一個搞笑的Linux Shell命令程式設計師Linux
- 一個較好的linux shell 程式設計網站Linux程式設計網站
- 第一個shell程式設計,輸出hello world!程式設計
- Shell程式設計基礎學習之四:語法結構程式設計
- 分享6個Python程式設計非常實用的技巧!Python程式設計
- Shell程式設計-02-Shell變數程式設計變數
- Linux Shell程式設計(27)——子shellLinux程式設計
- 好程式設計師分享Java面試題:物件導向的四個基本特徵程式設計師Java面試題物件特徵
- shell程式設計中shift的用法程式設計
- linux下的SHELL程式設計Linux程式設計
- Linux 程式設計之Shell程式設計(轉)Linux程式設計
- 初識shell程式設計程式設計
- Shell 程式設計入門程式設計
- shell程式設計進階程式設計