最近在其他論壇上看到幾個網友的面試題,這些天,qq群內的人都在討論怎麼解答才最簡單,下面列出題目:
檔案a: 檔案b:
a b c a b c
b c a b c a
c b a c a b
a a a 1 1 1
b b b 2 2 2
c c c 3 3 3
要求合併2個檔案如下:
a b c a b c
b c a b c a
c a b c a b
a a a 1 1 1
b b b 2 2 2
c c c 3 3 3
最簡單的答案看下面:
[root@virtual ~]# paste -d ' ' a ba b c a b c
b c a b c a
c b a c a b
a a a 1 1 1
b b b 2 2 2
c c c 3 3 3
awk大牛給的答案:
[root@virtual ~]# awk 'nr==fnrnr>fnr' a ba b c a b c
b c a b c a
c b a c a b
a a a 1 1 1
b b b 2 2 2
c c c 3 3 3
shell版本的答案:
cat test.shwhile read a b c
do
while read d e f
do echo "$d $e $f"|awk -v a=$a -v b=$b -v c=$c -f'\n'
''sed -i '1d' a
break
done < a
done < b
輸出結果:
./test.sh
a b c a b c
b c a b c a
c a b c a b
a a a 1 1 1
b b b 2 2 2
c c c 3 3 3
最後附上我的python的答案:
[root@virtual ~]# vi test.py[root@virtual ~]# python test.py
a b c a b c
b c a b c a
c b a c a b
a a a 1 1 1
b b b 2 2 2
c c c 3 3 3
[root@virtual ~]# cat test.py
#!/usr/bin/env python
import linecache
f=open('/root/a')
linecount=len(f.readlines())
for i in range(1,linecount+1):
a=linecache.getline("/root/a",i)
b=linecache.getline("/root/b",i)
print a.strip(),b.strip()
[root@virtual ~]#
這個題目的答案還有許多的解答方法,比如用sed估計也可以,用perl也沒問題。。。如果你知道,請不吝賜教。。。
一題多解 面試題
最近在其他論壇上看到幾個的面試題,這些天,qq群內的人都在討論怎麼解答才最簡單,下面列出題目 檔案a 檔案b a b c a b c b c a b c a c b a c a b a a a 1 1 1 b b b 2 2 2 c c c 3 3 3 要求合併2個檔案如下 a b c a b c ...
雷射樣式(一題多解)
問題描述 x星球的盛大節日為增加氣氛,用30台機光器一字排開,向太空中打出光柱。安裝除錯的時候才發現,不知什麼原因,相鄰的兩台雷射器不能同時開啟!國王很想知道,在目前這種bug存在的情況下,一共能打出多少種雷射效果?顯然,如果只有3臺機器,一共可以成5種樣式,即 1 全都關上 sorry,此時無聲勝...
一題四解 SQL經典面試題
表結構以及資料如下 create table 表 id int,日期 varchar 11 單據 char 3 insert into 表 id 日期 單據 values 1 2004 08 02 001 insert into 表 id 日期 單據 values 2 2004 09 02 001 ...