亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
怎樣從文件中讀如數(shù)據(jù)
[打印本頁(yè)]
作者:
anetwolf
時(shí)間:
2004-12-15 07:57
標(biāo)題:
怎樣從文件中讀如數(shù)據(jù)
比如有個(gè)文本文件內(nèi)容是:
192.168.0.1 10K 30K
192.168.0.3 20K 40K
192.168.0.10 10K 20K
怎樣把這個(gè)文件的內(nèi)容讀入3個(gè)數(shù)組
比如
a[0]=192.168.0.1 b[0]=10k c[0]=30k
a[1]=192.168.0.2 b[1]=20k c[1]=40k
a[2]=192.168.0.10 b[2]=10k c[2]=20k
從來(lái)沒(méi)有遍過(guò)復(fù)雜的shell,請(qǐng)各位幫忙
作者:
shaoping0330
時(shí)間:
2004-12-15 11:52
標(biāo)題:
怎樣從文件中讀如數(shù)據(jù)
哈哈,這幾天我也差不多在處理這個(gè)問(wèn)題。我們就切磋一下吧。嘻嘻!
我提供一個(gè)大體思路(幫你編寫(xiě)就扼殺你的思維了:)其實(shí)是我比較偷懶)和注要命令,要是有所幼稚之處,還請(qǐng)其他高手不要笑話我。
#!/bin/bash
# define function
function move
{
# add for loop
for (( i=1;i<=${hang};i++ ))
do
ip=`sed -n "${i}p" ${ogfile} |awk '{print $1}'`
lie_1=`sed -n "${i}p" ${ogfile} |awk '{print $2}'`
lie_2=`sed -n "${i}p" ${ogfile} |awk '{print $3}'`
# awk也可以用cut代替,關(guān)鍵看你的文件
j=$(( ${i}-1 ))
echo "a[${j}]=${ip} b[${j}]=${lie_1} c[${j}]=${lie_2}" >>${endfile}
done
}
# enviroment setting
# 假設(shè)初始文件為iplst、生成文件為endlst
# 假設(shè)你的工作目錄為usr,文件都在這個(gè)目錄下處理
basedir=/home/usr/
orgfile=${basedir}iplst
endfile=${basedir}endlst
hang=`wc -l ${orgfile}|awk '{print $1}'`
# 上午忘記加awk過(guò)濾文件名,這會(huì)要人命。下午補(bǔ)上
#program
case ${1} in
-move)
move;;
-help)
# 這個(gè)留給你直接寫(xiě)
help;;
*)
help;;
esac
真慘,好像寫(xiě)得差不多了。
作者:
icesummit
時(shí)間:
2004-12-15 16:23
標(biāo)題:
怎樣從文件中讀如數(shù)據(jù)
您是這個(gè)意思嗎?
#!/bin/ksh
set -A a $(cat file | awk '{print $1}')
set -A b $(cat file | awk '{print $2}')
set -A c $(cat file | awk '{print $3}')
echo ${a[0]}
echo ${a[1]}
echo ${a[2]}
作者:
寂寞烈火
時(shí)間:
2004-12-15 16:34
標(biāo)題:
怎樣從文件中讀如數(shù)據(jù)
/home/lee/test#set -A a $(cut -f1 -d' ' <file)
/home/lee/test#echo ${a[0]}
192.168.0.1
/home/lee/test#set -A b $(cut -f2 -d' ' <file)
/home/lee/test#echo ${b[2]}
10K
/home/lee/test#set -A c $(cut -f3 -d' ' <file)
/home/lee/test#echo ${c[1]}
40K
/home/lee/test#
作者:
shaoping0330
時(shí)間:
2004-12-15 17:47
標(biāo)題:
怎樣從文件中讀如數(shù)據(jù)
嗚嗚,我忘記仔細(xì)看題了。人家只是想讀取數(shù)據(jù),又不是想導(dǎo)入到另外一個(gè)文件中。
作者:
anetwolf
時(shí)間:
2004-12-16 12:20
標(biāo)題:
怎樣從文件中讀如數(shù)據(jù)
明白了,其實(shí)我的本意是shell能不能象c++
用<<一條語(yǔ)句就搞定.
呵呵,謝謝各位.
作者:
guangzongy
時(shí)間:
2004-12-16 14:42
標(biāo)題:
怎樣從文件中讀如數(shù)據(jù)
笨方法一個(gè):
[kennyyu@haha shellTestRoom]$ more data.dat
192.168.0.1 10K 30K
192.168.0.3 20K 40K
192.168.0.10 10K 20K
[kennyyu@haha shellTestRoom]$ more 1.sh
#! /bin/sh
while read line
do
line=(${line})
a=(${a[*]} ${line[0]})
b=(${b[*]} ${line[1]})
c=(${c[*]} ${line[2]})
done < data.dat
echo ${a[0]} ${a[1]} ${a[2]}
echo ${b[*]}
echo ${c[*]}
[kennyyu@haha shellTestRoom]$ ./1.sh
192.168.0.1 192.168.0.3 192.168.0.10
10K 20K 10K
30K 40K 20K
復(fù)制代碼
歡迎光臨 Chinaunix (http://www.72891.cn/)
Powered by Discuz! X3.2