課時5Linuxshell面試題

2021-03-04 09:33:54 字數 2538 閱讀 5122

一檔案內容如下:

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 進行文明禮儀教育,增進師生感情。教學重點 讓學生知道數學課的任務,讓學生樹立正確的學習觀念。教學難點...