在我剛接觸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
1one 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 12 two 1
3 three 1
4 four 1
s/\(. \)\(.*\)\(1\)/\2\1/:
one 1two 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 遍歷這...