Bash使用其他文件中的数据生成多个文件

时间:2017-07-31 10:35:29

标签: linux bash

我对脚本和Linux都是全新的 我想创建一个脚本,它将生成带有来自另一个文件的数据的Z编号(1 - 10.000)的.txt文件。

想要生成的文件示例:

  

FILE1.TXT

Number: X
Date: 31.07.2017<br>
Text: test
  

FILE2.TXT

Number: Y
Date: 31.07.2017
Text: test

file3.txt ..

file4125.txt。

file10000.txt

X Y 替换为文件numbers.txt中的数字,每行有一个数字。每个新文件都必须具有唯一的&#34;数字&#34;来自numbers.txt文件。 并最终将所有文件移动到新位置,例如/home/razvan/files

你有什么建议吗? 谢谢!

2 个答案:

答案 0 :(得分:1)

听起来你想要这样的东西:

count=0
while read -r number; do
    count=$(( count + 1 ))
    printf 'Number: %s
Date: 31.07.2017
Text: test' "$number" >"/home/razvan/file$count.txt"
done < numbers.txt

循环遍历numbers.txt中的所有行并为每个行创建一个文件,使用printf创建包含$number的格式化字符串。

这将在目录file1.txt内创建以file2.txt/home/razvan等开头的文件列表。

答案 1 :(得分:0)

numbafile:

78
67
77

 awk '{ print "Number: "$0"\nDate: 31.07.2017\nText: test" > ("/home/razvan/numbafile"$0".txt") }' numbafile

使用gawk,使用numbafile的每一行中的数字,然后使用此($ 0)将数据打印到文件(以$ 0命名),即/home/razvan/numbafile78.txt