濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > shell下同時(shí)讀取多個(gè)文件的方法

shell下同時(shí)讀取多個(gè)文件的方法

熱門標(biāo)簽:長(zhǎng)春外呼系統(tǒng)價(jià)格 美圖手機(jī) 南昌語音外呼系統(tǒng)代理 成都移動(dòng)外呼系統(tǒng) 長(zhǎng)沙智能外呼系統(tǒng)中心 佛山外呼系統(tǒng)平臺(tái) 聯(lián)客智能語音外呼系統(tǒng)賬號(hào)格式 南寧智能外呼系統(tǒng)線路商 電銷機(jī)器人的效果

1. 單個(gè)文件的讀取

在shell腳本下,可以多種方式實(shí)現(xiàn)按行讀取文件,如下:

for line in `cat ${input_filename}`
do
  echo $line
done
while read line
do
  echo $line
done  ${input_filename}

其中第二種方式是將文件重定向到標(biāo)準(zhǔn)輸入中

2. 多個(gè)文件讀取方法

那如何實(shí)現(xiàn)同時(shí)多個(gè)文件的讀呢?
我們可以繼續(xù)利用bash中的文件重定向功能,將文件重定向到特定的文件描述符中,語法如下:

nfile
n>file
n>>file
n>file

這里的n代表打開文件file的文件描述符,類似其他編程語言中的fd,如果沒有指定n,則其默認(rèn)行為如下:

file   #same as 0file
>file  #same as 1>file
>file   #same as 0>file

我們可以通過exec命令來打開所要重定向的文件:

exec 7file1
exec 8file2

然后我們可以通過read命令來讀取對(duì)應(yīng)文件的內(nèi)容:

read data 7 #使用符合是為了區(qū)分7是文件描述符,而不是文件名
read data 8
關(guān)閉文件
exec 7/dev/null
exec 8/dev/null

多文件讀取示例代碼如下:

readfiles() {
	local FD1=7
	local FD2=8
	local file1=$1
	local file2=$2
	local count1=0
	local count2=0
	local eof1=0
	local eof2=0
	local data1
	local data2
 
	# Open files.
	exec 7$file1
	exec 8$file2
	while [[ $eof1 -eq 0  ||  $eof2 -eq 0 ]]
	do
		if read data1$FD1; then
			let count1++
			printf "%s, line %d: %s\n" $file1 $count1 "$data1"
		else
			eof1=1
		fi
		if read data2 $FD2; then
			let count2++
			printf "%s, line %d: %s\n" $file2 $count2 "$data2"
		else
			eof2=1
		fi
	done
}
#read file1 and file2
readfiles file1 file2

標(biāo)簽:邵陽 阜陽 新鄉(xiāng) 云浮 法律服務(wù) 慶陽 沈陽 東營

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《shell下同時(shí)讀取多個(gè)文件的方法》,本文關(guān)鍵詞  shell,下,同時(shí),讀取,多個(gè),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《shell下同時(shí)讀取多個(gè)文件的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于shell下同時(shí)讀取多個(gè)文件的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    麻江县| 农安县| 双桥区| 武功县| 石嘴山市| 定襄县| 塔河县| 开化县| 聊城市| 莲花县| 普格县| 乌兰县| 桐梓县| 公主岭市| 临武县| 尚志市| 合川市| 阿拉尔市| 荔波县| 来安县| 库车县| 施秉县| 乐山市| 马山县| 滨州市| 阿巴嘎旗| 廊坊市| 灵丘县| 商丘市| 始兴县| 嘉义县| 定兴县| 湘阴县| 巴楚县| 博兴县| 溧阳市| 郧西县| 泊头市| 甘肃省| 遵化市| 丰顺县|