一道與sed相關的面試題

2022-08-19 17:09:12 字數 1655 閱讀 1936

在我剛接觸linux的那段時間,參加了乙個面試其中有一道面試題沒做出來,這道題一直烙在我腦海,面試完之後我便開始認真的學了一下sed,輕鬆決解。

面試題內容大致如下:

1.用sed將    one 1   轉變為         one    1

two 1                          two     2

three 1                     three    3

four 1                            four      4

檔名:test.txt

sed 「=」 test.txt | sed 「n;s/\n/ /;s/\(. \)\(.*\)\( 1\)/\2\1/」

執行過程:sed的"="選項為顯示行號:

sed -i "=" test.txt 

1

one 1

2two 1

3three 1

4four 1

n 輸出模式空間行,讀取下一行替換當前模式空間的行,執行下一條處理命令而非第一條命令。

n 讀入下一行,追加到模式空間行後面,此時模式空間有兩行,並用換行符分隔。

h 把模式空間裡的行拷貝到暫存空間。

h 把模式空間裡的行追加到暫存空間。

g 用暫存空間的內容替換模式空間的行。

g 把暫存空間的內容追加到模式空間的行後。

x 將暫存空間的內容於模式空間裡的當前行互換。

sed -i "n;s/\n/ /;s/\(. \)\(.*\)\(1\)/\2\1/"    test.txt

n:

模式空間:

1\none 1

2\ntwo 1

3\nthree 1

4\nfour 1

s/\n/ /:

1 one    1

2 two 1

3 three 1

4 four 1

s/\(. \)\(.*\)\(1\)/\2\1/:

one    1

two 2

three 3

four 4

2.奇數行插入乙個空行,偶數行插入兩個空行

sed

'1~2!g

'info.txt | sed

'/^$/!g

'

3.統計網域名稱

文字:

http://

一道網路相關面試題

問 從客戶端向服務端傳送三個包,在 tcp和 udp協議的情況下,服務端最終會收到幾個包?答 網路結構圖如下所示 使用udp 協議 1 在過程 1 中,client 向buffer 發包時,buffer 會立即返回成功。如果 client 向buffer 發包的速度過快,雖然 buffer 立即返回...

一道面試題

一道面試題 射擊運動員10發打中90環有多少種可能,請編寫程式計算出來,並列印出結果,0環和10環均有效。打中90環就是沒打中10環,所以打中90環跟打中10環的可能性是一樣的。然後開始遞迴狂打槍,一到10就記錄 if params i 10 在迴圈的控制中已經排除了大於10的可能性 i 10 pa...

一道面試題

前些時候在找工作,就在準備結束此次找工作歷程的時候,去了一家公司面試,去了之後技術經理直接帶到一台電腦旁,給了一張紙條,上面是這樣的題目 用c或c 來實現 1 建立一棵樹,該樹的深度是隨機的,每個節點的位元組點數是隨機的。2 給每個節點分配一段隨機大小的記憶體空間,給每個節點賦乙個隨機數。3 遍歷這...