次のループで作成した変数$ d、$ tf_name、$ db_origをファイルに保存しようとしています。最後にタブを区切ってMY_FILE.txtにフィールド$ d、$ tf_name、$ db_orig、およびこの一連の変数の繰り返しの後に、ファイルMY_FILE.txtの新しい行に格納されます。ループからファイルに変数を格納する方法
MY_ARRAY=()
for d in */
do
IN=$d
folderIN=(${IN//_/ })
tf_name=${folderIN[-1]%/*}
db_orig=${folderIN[-2]%/*};
ENTRY="$d\t$tf\t$id\t$db_orig\n"
MY_ARRAY+=$ENTRY
done
$MY_ARRAY > MY_FILE.txt
\ tと\ nはそれぞれTABとNEWLINEとして認識されません。配列MY_ARRAYには、TABなしの同じ行にすべての値が隣り合って格納されます。
助けが必要ですか?
@elpavlos。必要に応じて、配列の使用を避けることができます。 –
ありがとうGeorgios。問題が解決され、ファイルが作成されました! – elpavlos
別の質問が出てきました。場合によっては、変数の一部が存在しない場合があります。 3回目の反復$ db_origに値がないとしましょう。ファイル($ d、$ tf、$ id)に3行目を作成し、この特定のフィールド$ db_origにNAまたは空白を含めることは可能でしょうか?私のスクリプトでは、そのような場合には全くエントリがありません。 – elpavlos