Linux
從單個 txt 文件創建多個文件
我有一個需要多次複製的輸入文件,每個文件中都有一點變化,即每個文件中的每 30 行要更改一次。
例如
我的主要文本文件名是 D0.txt,我需要複製多個數字時間。並且在第 30 行是“變數 D1 等於 0.0”
現在我第一次複製這個文件
我想將該字元串更改為“變數 D1 等於 1”
然後將文件另存為 D1.txt。
同樣,我想創建假設 5 個文件,然後我想循環 100 次。
所以文件保存在一個文件夾中
D0.txt
D1.txt
D2.txt 等等,其第 30 行中的每一行都作為“Diameter = $n”範例文本文件格式附在下面。以及文件夾中所需的文件格式。
在 bash 你可以做
for i in {1..5}; do cp D0.txt D$i.txt; sed -i "30s/.*/variable D1 equal $i/" D$i.txt; done
在這裡
{1..5}
指定循環的範圍,在每次迭代期間,我們是使用新名稱複製文件。使用 sed 命令替換第 30 行的文本。 where
-i
指定 in-place ,30
指定行號,s
指定搜尋給定的文本,在我們的例子中,.*
它說明了第 30 行的任何文本,我們希望將該文本替換variable D1 equal $i
為文件D$i.txt
.