亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
樓主: lljj
打印 上一主題 下一主題

請教!怎么把一個文本的一列,換成一行!  關(guān)閉 [復制鏈接]

論壇徽章:
0
11 [報告]
發(fā)表于 2002-10-17 11:23 |只看該作者

請教!怎么把一個文本的一列,換成一行!

[這個貼子最后由hwhcom在 2002/10/17 11:25am 編輯]

如果文件有多個域,把每個域的列換成行,該如何???
file a
a aa
b bb
c cc
轉(zhuǎn)換為
a b c
aa bb cc
斑竹的方法好像就不行

論壇徽章:
0
12 [報告]
發(fā)表于 2002-10-17 11:25 |只看該作者

請教!怎么把一個文本的一列,換成一行!

[這個貼子最后由goodboy在 2002/10/17 11:58am 編輯]

這樣的話就可以按照superhoo的方法來做,一列列的處理,然后追加到一個文件中就ok了。
cat fileA | awk '{printf "%s ",$1}' >> fileB
echo >> fileB
cat fileA | awk '{printf "%s ",$2}' >> fileB

論壇徽章:
0
13 [報告]
發(fā)表于 2002-10-17 11:29 |只看該作者

請教!怎么把一個文本的一列,換成一行!

用cut也可以
A1=`cat jj|cut -d" " -f1`
A2=`cat jj|cut -d" " -f2`

論壇徽章:
0
14 [報告]
發(fā)表于 2002-10-17 12:03 |只看該作者

請教!怎么把一個文本的一列,換成一行!

[這個貼子最后由goodboy在 2002/10/17 12:11pm 編輯]

斑竹的方法是一列,我的方法是兩列,要是有不確定列怎么辦?
比如文件:fileA(都是左對齊)
a   b   c    d
aa  bb
e
ddd f   cc
要是象finger結(jié)果文件,簡化一下,怎么處理了?
# 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

論壇徽章:
0
15 [報告]
發(fā)表于 2002-10-20 23:04 |只看該作者

請教!怎么把一個文本的一列,換成一行!

思路應該是先對文件掃描,得出最多有幾個域,以此作為循環(huán)次數(shù),再分別對每列讀取。

論壇徽章:
0
16 [報告]
發(fā)表于 2002-10-21 00:19 |只看該作者

請教!怎么把一個文本的一列,換成一行!

[這個貼子最后由microroad在 2002/10/21 00:32am 編輯]
下面引用由hwhcom2002/10/17 11:23am 發(fā)表的內(nèi)容:
如果文件有多個域,把每個域的列換成行,該如何???
file a
a aa
b bb
...

把每個域的列換成行,且每行的域數(shù)不確定用shell實現(xià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

c=1
while [ $c -le $max ]
do
cat fileA |awk '{printf &quot;%s \t&quot;,$&quot;'$c'&quot;} END{printf &quot;\n&quot;}' >>fileB
c=`expr $c + 1`
done

論壇徽章:
0
17 [報告]
發(fā)表于 2002-10-21 14:31 |只看該作者

請教!怎么把一個文本的一列,換成一行!

請教 microroad 我試了以下你的程序,發(fā)現(xiàn)一個問題,就是那個max參數(shù),
它在while循環(huán)里被賦值,但是一出循環(huán)它的值又變成了0,這是怎么回事啊??
這與版本有關(guān)嗎??

論壇徽章:
0
18 [報告]
發(fā)表于 2002-10-21 23:33 |只看該作者

請教!怎么把一個文本的一列,換成一行!

不應該的。我在shell下都測試過的。
你可在第一個循環(huán)中加上echo $nf和echo $max,在用sh -x rowtoline.sh (假定什么的shell script叫rowtoline.sh)調(diào)試,看看原因在哪。

論壇徽章:
0
19 [報告]
發(fā)表于 2002-10-22 09:25 |只看該作者

請教!怎么把一個文本的一列,換成一行!

繼續(xù)請教 microroad
我的shell程序是:
#!/bin/sh

TMP=bbb.txt
FILE=aaa.txt
max=0

while read TXT
do
  nf=`echo $TXT | awk '{print NF}'`

  if [ $nf -gt $max ]
  then
  max=$nf
  fi
done<$FILE

echo $max

LNo=1
while [ $LNo -le $max ]
do
  awk '{printf &quot;%s \t&quot;,$&quot;'$LNo'&quot;} END{printf &quot;\n&quot;}' $FILE >> $TMP
  LNo=$LNo+1
done

文本文件aaa.txt是:
1 aa
2 bb
3 cc eee
4 dd
5 cccccccccc
6 uuuuuuuu

-x的結(jié)果是:
TMP=bbb.txt
FILE=aaa.txt
max=0
+ read TXT
+ + awkecho  {print NF}1
aa
nf=2
+ [ 2 -gt 0 ]
max=2
+ read TXT
+ + awkecho  {print NF}2
bb
nf=2
+ [ 2 -gt 2 ]
+ read TXT
+ + awkecho  {print NF}3
cc eee
nf=3
+ [ 3 -gt 2 ]
max=3   -------------------------------------此處的max被賦值為3
+ read TXT
+ + awkecho  {print NF}4
dd
nf=2
+ [ 2 -gt 3 ]
+ read TXT
+ + awkecho  {print NF}5
cccccccccc
nf=2
+ [ 2 -gt 3 ]
+ read TXT
+ + awkecho  {print NF}6
uuuuuuuu
nf=2
+ [ 2 -gt 3 ]
+ read TXT
+ echo 0
0   ----------------------------此處的max又變成了0
LNo=1
+ [ 1 -le 0 ]


請幫忙看一下,謝謝。
(注:系統(tǒng)為SCO UnixWare 7.0.1)

論壇徽章:
0
20 [報告]
發(fā)表于 2002-10-22 17:08 |只看該作者

請教!怎么把一個文本的一列,換成一行!

to skydown :看看下面鏈接指向的貼子吧
http://www.chinaunix.net/cgi-bin/bbs/topic.cgi?forum=11&amp;topic=112
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP