一檔案內容如下:
100a 100
b50c20
d30要求輸出結果為:
100a100
200b50
150c20
130d30
一句話思路:用shell肯定是不行,因為是操作檔案。用sed倒是可以操作檔案,但有數**算還要用到變數。所以,用awk應該是最好的。
awk 'nr==1nr!=1' 內容檔案
知識點:awk變數,域
二檔案內容如下:
123abc456
456def123
567abc789
789def567
要求輸出:
456abc123
123def456
789abc567
567def789
一句話思路:以點帶面,文書處理,shell不行,awk不行,用sed加正規表示式
sed -r 's/([1-9])([a-f])([1-9])/\3\2\1/;y/abcdef/abcdef/' 內容檔案
知識點:-r 支援擴充套件的正規表示式,跟grep用-p類似。y其實就是tr只是寫到sed裡面更好看一些,sed的查詢替換,當然還有正則中的分組。
sed中的分組可以這麼用,awk就不行了只能用&,而且分組數量不能超過9,即不會有\10出現。
三. 檔案內容如下
1.1.1.1 11
1.1.1.1 22
1.1.1.1 33
1.1.1.1 44
2.2.2.2 11
2.2.2.2 22
2.2.2.2 33
2.2.2.2 44
要求使用sed及awk分別將檔案輸出:
1.1.1.1 11 22 33 44
2.2.2.2 11 22 33 44
一句話思路:這個沒啥思路了,上面還分析分析用什麼合適,這裡面沒的選了,人家都說了,就弄吧。
sed -r 'n;n;n;s/\n/ /g;s/(.*)(11 )(.*)(22 )(.*)(33 )(.*)(44)/\1\2\4\6\8/' 內容檔案
知識點:n將檔案的下一行讀入模式空間,3個n就是讀取下面三行進入當前模式空間,讀進去的行依然保留換行,所以刪除換行,後面的就不說了,***。
awk 'end' 內容檔案
知識點:awk陣列,awk字串賦值,使用for遍歷awk陣列。
四. 分析apache日誌,給出當日訪問ip的降序列表。
一句話思路:分析ip就要提取ip,提取的辦法除了awk,還有個東西叫cut。
知識點:cut命令,sort將彙總相同內容,uniq -c合併重複內容,並給出重複次數。sort -nr 使用數字排序,預設是ascii,並且是降序,預設是公升序。
知識點:awk資料,sort -k2 -nr 降序數字排序就不說了,-k引數指定使用哪個列進行排序。預設是自然是第一列。
五.亞瑟王環
有1到100的數字序列。有計數器每數到12,就將計數器指向的數字在亞瑟環中剔除,問該序列中最後剩下的數字是多少?
一句話思路:100,12的太複雜,就弄個10,2的,完成之後替換一下。。。。。。
最後的答案是:81 面試的時候你可以說是心算的(別脫口而出,稍微偽裝一下),就是不知道行不行。
做計數器,當計數器到達12的時候就將乙個陣列中對應的值賦值為零。當所有陣列中的數字還剩唯一的不為零的值的時候就是剩下的數字。
#/bin/bash
for i in ;do
huan[$i]=$i
done #先初始化乙個陣列,其實用變數也行,個人喜好,用awk也行,但一篇內容乙個shell有點不合適。
t=0 #定義乙個計數器
sum=0
while true;do #定義乙個無限迴圈,因為確實不知道要數多少次。
for((i=1;i<101;i++));do
if [ $ -gt 0 ];then #不等於零就把計數器加1
let t++
fiif [ $t -eq 12 ];then #數到12就將陣列中的數清零,同時計數器清零
huan[$i]=0
t=0fi
done
for((i=1;i<101;i++));do #遍歷陣列,如果陣列中只有乙個數不為零就跳出迴圈
if [ $ -gt 0 ];then
let sum++
sum[1]=$
fidone
if [ $sum -eq 1 ];then
break
else
sum=0
fidone
echo $
課時6百度和搜狐LinuxShell面試題
1 linux下如何新增路由?route 命令方法 主機路由 sbin route add host 192.168.2.13 dev eth2 sbin route add host 202.81.11.91 dev lo 預設閘道器路由 sbin route add default gw 192...
5翠鳥 三課時
二 讀課文,了解內容。1.自讀課文,劃分自然段。2.按自然段讀課文,注意讀準字音。三 作業。熟讀課文,自學生字詞。第二課時 一 匯入新課。從 上節課 中我們知道不理解的詞語可以怎麼辦?查字典 除了查字典以外還可以怎麼辦呢?這節課我們將用另外的方法來理解不懂的詞語。二 理解課文內容,了解翠鳥的外形和活...
五數5課時教案
始業課 課型 始業課設計 趙媛媛授課時間 月日 教學內容 數學始業課。教學目標 1 了解學生寒假學習生活情況。2 讓學生明確下學期數學課的任務,端正學習態度。3 課堂教學常規訂立,提出新學期要求。4 進行文明禮儀教育,增進師生感情。教學重點 讓學生知道數學課的任務,讓學生樹立正確的學習觀念。教學難點...