You just flattered me to the sky!
這是shell在把命令處理結(jié)果賦給變量時(shí)的一種特性.也就是``的功能. 作者: goodboy 時(shí)間: 2002-10-17 11:11 標(biāo)題: 請(qǐng)教!怎么把一個(gè)文本的一列,換成一行! 斑竹的厲害早就家喻戶曉;斑竹的名聲如雷貫耳!作者: hwhcom 時(shí)間: 2002-10-17 11:23 標(biāo)題: 請(qǐng)教!怎么把一個(gè)文本的一列,換成一行! [這個(gè)貼子最后由hwhcom在 2002/10/17 11:25am 編輯]
如果文件有多個(gè)域,把每個(gè)域的列換成行,該如何???
file a
a aa
b bb
c cc
轉(zhuǎn)換為
a b c
aa bb cc
斑竹的方法好像就不行 作者: goodboy 時(shí)間: 2002-10-17 11:25 標(biāo)題: 請(qǐng)教!怎么把一個(gè)文本的一列,換成一行! [這個(gè)貼子最后由goodboy在 2002/10/17 11:58am 編輯]
斑竹的方法是一列,我的方法是兩列,要是有不確定列怎么辦?
比如文件:fileA(都是左對(duì)齊)
a b c d
aa bb
e
ddd f cc
要是象finger結(jié)果文件,簡(jiǎn)化一下,怎么處理了?
# finger
LoginName Tty Idle Where
client *p1 10.1.1.101
client *p0 10.1.1.97
client *p2 10.1.1.98
client *p6 10.1.1.171
client *p7 27 10.1.1.157
client *p8 4 10.1.1.74 作者: microroad 時(shí)間: 2002-10-20 23:04 標(biāo)題: 請(qǐng)教!怎么把一個(gè)文本的一列,換成一行! 思路應(yīng)該是先對(duì)文件掃描,得出最多有幾個(gè)域,以此作為循環(huán)次數(shù),再分別對(duì)每列讀取。作者: microroad 時(shí)間: 2002-10-21 00:19 標(biāo)題: 請(qǐng)教!怎么把一個(gè)文本的一列,換成一行! [這個(gè)貼子最后由microroad在 2002/10/21 00:32am 編輯]
下面引用由hwhcom在 2002/10/17 11:23am 發(fā)表的內(nèi)容:
如果文件有多個(gè)域,把每個(gè)域的列換成行,該如何???
file a
a aa
b bb
...
把每個(gè)域的列換成行,且每行的域數(shù)不確定用shell實(shí)現(xiàn)如下:
有點(diǎn)繁,期待簡(jiǎn)化版!
#!/bin/sh
max=0
while read v
do
nf=`echo "$v"|awk '{print NF}'`
if [ $nf -gt $max ]
then
max=$nf
fi
done <fileA