Shell中同時讀多個檔案

2021-05-02 14:32:41 字數 761 閱讀 7890

有時需要提取檔案中的乙個或多個列元素生成新的檔案,這一操作在 shell 裡很容易實現。比如有乙個資料檔案 data,有三列資訊:姓名、學號、班級。

redraiment 0612800134 0601

christine 0612800136 0601

zb 0612800229 0602

現在需要這個檔案的第一列和第二列資訊分別存到檔案 f1 和 f2 中,可以用 awk 提取,也可以用下面這個簡單 shell 程式:

#!/bin/sh

while read f1 f2 f3

doecho

$f1 >> f1

echo

$f2 >> f2

done

如果想把多個檔案重新合併成乙個多列檔案,而不是追加到檔案尾處。例如把上列中生成的 f1 和 f2 重新組成 join.txt 。這時需要同時操作多個檔案,就像 c 語言中用 fopen 同時開啟多個檔案,在 shell 裡也是類似的。只是在 shell 裡叫做「檔案描述符」,用「0-9」十個數字表示。其中 0、1、2 分別是系統的標準輸入、輸出、錯誤。「3-9」則由使用者只有使用。我們就可以任選兩個來重定向輸入。指令碼如下:

#!/bin/sh

exec 3

exec 4

while read f1 <&3 && read f2 <&4

doecho

$f1 $f2 >> join.txt

done

shell多個指令碼同時執行

1 編寫多程序實驗指令碼 demo.sh bin bash sub1.log sub2.log sub3.log function sub1 doecho date t sub1.log 注意date 和 號之間有空格。如 date m d date取 月 日 的命令列。sleep 1 done f...

python 同時讀取多個檔案

python中開啟文字使用的是with語句,比如開啟乙個檔案並讀取每一行with open filename as fp for line in fp do something為了同時讀取多個檔案,可以使用下面的 with open filename1 as fp1,open filename2 a...

同時上傳多個檔案問題

需求描述 每件儀器會有附件,而且不止乙個。我們需要在上傳儀器的時候,提供上傳附件的方法。難點 前端同時儲存多個檔案比較麻煩而且比較容易出錯,但是如果每上傳一次,就儲存一次資料庫,會導致資料庫裡大量的無用檔案 因為使用者在上傳檔案之後不一定會上傳此儀器,導致之前存在資料庫裡的檔案變為了無用檔案 解決方...