2017-07-31 32 views
-1

私は完全にスクリプトとLinuxに慣れています。
私は、別のファイルからのデータでZ番号(1〜10.000)の.txtファイルを生成するスクリプトを作成したいと考えています。生成されたファイルの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 XYは1行につき1つの番号を持つファイルnumbers.txtから番号に置き換えられ

。それぞれの新しいファイルには、numbers.txtファイルの一意の「番号」が必要です。 最後に、すべてのファイルを新しい場所に移動します。 /home/razvan/files

ご意見はありますか? ありがとうございました!

+1

こんにちは、歓迎、StackOverflow。ヘルプページ、特に[ここではどのトピックについて聞かせていただけますか?](http://stackoverflow.com/help/on-topic)と[質問しないでください。」](http://stackoverflow.com/help/dont-ask)。さらに重要なことは、[Stack Overflow question checklist](http://meta.stackexchange.com/q/156810/204922)をお読みください。また、[最小、完全、および検証可能な例](http://stackoverflow.com/help/mcve)についても知りたいことがあります。 – DanieleO

+1

ようこそStackOverflowへ。ここで既に試したことをここで共有して、そのコードで特有の問題点を指摘すれば、迅速に助けを得ることができます。また、[最小、完全、および検証可能な例を作成する方法](https://stackoverflow.com/help/mcve)をご覧ください。 –

+0

numbers.txtファイルには何がありますか? –

答えて

1

あなたはこのような何かしたいように聞こえる:numbers.txt内のすべてのラインを介して

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 

ループと$numberを含むフォーマットされた文字列を作成するためにprintfを使用して、それぞれのいずれかのファイルを作成します。

/home/razvanの中にfile1.txtfile2.txtなどで始まるファイルのリストが作成されます。

0

numbafile:gawkので

78 
67 
77 

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

、($ 0の名前の)ファイルすなわち/ホーム/はRazvan/numbafile78にデータを印刷するには、この($ 0)を使用し、その後numbafileの各行に番号を使用し、 .txt

関連する問題