實用的四個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程式設計(四)| grep正規表示式程式設計
- shell程式設計(四)| sed 正規表示式程式設計
- Shell程式設計程式設計
- Shell程式設計 --- Shell介紹程式設計
- shell程式設計五程式設計
- shell程式設計二程式設計
- Shell程式設計-shell變數1程式設計變數
- Shell程式設計-09-Shell中的函式程式設計函式
- 分享6個Python程式設計非常實用的技巧!Python程式設計
- Shell程式設計-02-Shell變數程式設計變數
- Linux之shell程式設計Linux程式設計
- Shell程式設計-基礎程式設計
- Shell程式設計-read命令程式設計
- shell程式設計進階程式設計
- shell 程式設計簡記程式設計
- Linux Shell程式設計(1)Linux程式設計
- Linux Shell程式設計(2)Linux程式設計
- shell程式設計基礎程式設計
- Shell 程式設計入門程式設計
- 初識shell程式設計程式設計
- 解決程式設計難題的實用方法指南 - praeclarum程式設計
- Shell程式設計-11-子Shell和Shell巢狀程式設計巢狀
- 作業系統實驗(一)-Shell程式設計作業系統程式設計
- 扯個淡:用Python實現中文程式設計Python程式設計
- Linux與Shell 第2天 實操、軟體包管理、Shell程式設計Linux程式設計
- 分享兩個實用的shell指令碼指令碼
- Shell程式設計——極簡教程程式設計
- shell程式設計–bash變數程式設計變數
- shell程式設計—簡介(一)程式設計
- Shell 指令碼程式設計陷阱指令碼程式設計
- shell程式設計基礎二程式設計
- shell程式設計,實戰高階進階教學程式設計
- 如何學習shell程式設計?Linux運維學習shell程式設計是什麼程式設計Linux運維
- 9個實用shell指令碼指令碼
- 好程式設計師分享Java面試題:物件導向的四個基本特徵程式設計師Java面試題物件特徵
- Shell程式設計-04-Shell中變數數值計算程式設計變數
- MFC程式設計(四)C程式程式設計
- Python 程式設計實用技巧Python程式設計
- 用函式實現模組化程式設計習題函式程式設計