2017-07-31 60 views
-1

我完全不熟悉脚本和Linux。
我想制作一个脚本,它将用另一个文件的数据生成.txt文件的Z数(1 - 10.000)。生成的文件的Bash用其他文件中的数据生成多个文件

例想:

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ÿ与来自文件numbers.txt若干具有每行一个号码代替。每个新文件都必须具有来自numbers.txt文件的唯一“Number”。 最后将所有文件移动到新的位置,例如/home/razvan/files

你有什么建议吗? 谢谢!

+1

你好,欢迎来到StackOverflow。请花一些时间阅读帮助页面,尤其是名为[“我可以询问什么主题?”(http://stackoverflow.com/help/on-topic)和[“我应该问什么类型的问题避免问?“](http://stackoverflow.com/help/dont-ask)。更重要的是,请阅读[Stack Overflow问题清单](http://meta.stackexchange.com/q/156810/204922)。您可能还想了解[最小,完整和可验证示例](http://stackoverflow.com/help/mcve)。 – DanieleO

+1

欢迎来到StackOverflow。如果您在此分享您已经尝试过的内容,并指出您使用该代码所遇到的特定问题,那么您很可能会很快获得帮助。也请看看[如何创建一个最小,完整和可验证的示例](https://stackoverflow.com/help/mcve) –

+0

numbers.txt文件中有什么? –

回答

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内。

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来命名),即/家庭/勒兹万/ numbafile78 .txt

相关问题