1
"test_file1"というファイルがあります。私はこのファイルの各行を読み、それを "test_file2"という別のファイルに書きたいと思います。これらのファイルは両方とも同じディレクトリにあります。行ごとに読み込み、別のファイルシェルスクリプトで書き込む
私は
#!/bin/sh
# My first Script
echo "Hello World!"
file=$(<test_file1.txt)
echo "Test" >> test_file2.txt
while IFS= read -r line;do
echo -e "legendary" >> test_file2.txt
echo "$line" >> test_file2.txt
done <"$file"
echo "completed"
を試みたスクリプトがtest_file2.txtに「テスト」を書き込みますがtest_file2に「伝説的」またはtest_file1の行を書き込みません。
助けてもらえますか?
ありがとうございます。
こんにちはDAXaholicに行うために、 ありがとうございました。今すぐうまくいく!! –
ループ内のファイルを繰り返し開いたり閉じたりするよりも、 'done'の後に単一のリダイレクトを行う方がはるかに効率的です。これをsrmpleのAwkスクリプトで置き換えることは、より良い方法です。このような行を読み書きするシェル・ループはしばしば反パターンです。 – tripleee
もちろん、awkスクリプトを書く方が効率的です.Cでネイティブアプリケーションを書く方が効率的です。 このスクリプトが何千もの行を処理する場合、私は同意し、おそらくリファクタリングする必要があります。この場合、私はちょうどそのような厳しいperf制約がないということを前提にしているので、質問者に完全な新しいコードスニペットを与えるのではなく、自分のコードの失敗した部分を表示する方が良いでしょう。違う言語)を理解するのは難しいかもしれません。それにもかかわらず、追加のノートのためのthx! – DAXaholic