前提・実現したいこと
sqlで抽出したデータで以下の機能をするスクリプトを作成しています。
①各レコードで対象の項目(カラム)に重複が無いかチェックする。
②該当するレコードを出力する。
①の機能は作成できましたが、②の機能を作るのに四苦八苦しております。
該当するレコードを出力したいのですが、重複チェックした部分しか出力できずにいます。
発生している問題
test_checked.txt
27 27 0 27 27 0
理想とする出力結果
test_checked.txt
004 3456 27 27 0 テスト4 005 7890 27 27 0 テスト5
作成してるスクリプト
test_check.sh
#!/bin/ksh ### 重複チェック結果の出力先 ### TXT=/hoge/test/test_checked.txt ### sqlで抽出したファイルの重複チェック結果を出力する ### #$1 : 抽出したファイル(test.txt) #awk '{print $3,$4,&5}':重複を確認したい項目 cat $1 | awk '{print $3,$4,$5}' | sort | uniq -d > $TXT ### 出力ファイルサイズが0より大きいことを真として条件式でメッセージを出力する ### if [ -s "$TXT" ]; then echo "重複がありました。" else echo "重複はありませんでした。" fi
抽出データ
test.txt
001 1234 8 19 14 テスト1 002 5678 6 4 0 テスト2 003 9012 7 8 6 テスト3 004 3456 27 27 0 テスト4 005 7890 27 27 0 テスト5 006 1123 8 19 26 テスト6
補足情報(FW/ツールのバージョンなど)
teratermでの作業となっています。
他に必要な情報がありましたら申してください。
回答3件
あなたの回答
tips
プレビュー