特定のアカウントの残高が異なるファイルがあります。そして、毎日これらのバランスが変わります。私がしたいのは、最新の日付に基づいて特定のアカウントの残高記録を抽出することです。最新の日付に基づいてファイルからレコードを抽出し、新しいファイルに保存する
awk
スクリプトを使用して手動でレコードの最初の列に日付を追加していますが、レコードに日付が付いていないのでファイル名から日付をとっています。次に、口座番号に基づいてレコードをソートし、別のファイルに最新の日付でレコードを抽出したいとします。
誰でも私にこれを手伝ってもらえますか?
今まで私はこのコードを書いていると私は、並べ替えや他のファイルにデータを抽出することができません
#!/usr/bin/ksh
f=mainfile_20151201.dat
s=`echo $f | cut -c 16-23`
echo "$f -> $s"
awk -F "~" 'BEGIN { OFS = "~"; ORS = "\n" ; date='$s' ; IFS = "~"} { $1=date"~"$1 ; print }' mainfile_20151201.dat > tempdate
awk -F "~" 'BEGIN { OFS = "~"; ORS = "\n" ; IFS = "~"} { $1 ; print }' tempdate > newfile
サンプルデータ:
AccountNumber~~0~149038.40000000~149038.4~0.00000000~0.00000000~0.00000000
ご注意ください第四のデータフィールドは毎日変更されます
入力ファイルには1行しか含まれていませんか?そうでない場合は、投稿されたサンプルデータが実際のデータを表していないため、有用ではありません。あなたの質問を編集して、簡潔で、テスト可能で、本当に代表的なサンプル入力と、その入力を想定した出力を含めます。 –