質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

2回答

1177閲覧

Linux コマンド ファイル操作

kometaroimo0214

総合スコア7

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

1クリップ

投稿2018/04/26 05:05

前提・実現したいこと

以下のような履歴型のテーブルから最新のレコードを抽出したい

テーブルA

列1列2列3
CD0001201803A
CD0001201802B
CD0001201801C
CD0002201802D
CD0002201801E
CD0003999999F
CD0003201801G

前提条件

以下の手順で実施する
①SQLLoaderにてファイル全量をファイル出力(output_ora.log)
②output.logからテーブルA.列3が(A,D,F)のみをファイル出力(output_cmn.log)

このとき「②」を実現するためのコマンドをご教示いただけますでしょうか。
ヒントでもキーワードでも結構です。
参考ULRだけでもいただけますとありがたいです。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kazto

2018/04/26 05:09

output_ora.logのサンプルを数行程度、追記していただけるとイメージが湧きやすいです。
coco_bauer

2018/04/26 05:10

SQLで列3の項目がA or D or Fのデータを抽出して、それをファイルに出力したほうが良くないですか? せっかくSQLが使えるのだから。
kawakawa2018

2018/04/26 05:25

output.log は書き間違いで正しくは output_ora.logですね。「前提条件」を守らなければ coco_bauerさんの方法がベスト回答ですね。
kometaroimo0214

2018/04/26 07:07

ご指摘ありがとうございます。ファイル名の誤記を訂正しました。output_ora.logはシングルクォート等の囲み文字はなく、区切り文字はカンマ区切りです。SQLでパフォーマンスという観点抜きで実現できることは既知です。
guest

回答2

0

awk '$3~/^[ADF]$/' output_ora.log > output_cmn.log

投稿2018/04/26 05:31

KojiDoi

総合スコア13671

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

以下でどうでしょう?
ただし、列3が行末であることが前提です。
grep -E "[A,D,F$]" output_ora.log > output_cmn.log

投稿2018/04/26 05:22

編集2018/04/26 05:39
over

総合スコア4309

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

over

2018/04/26 05:49

「,」必要なかったですね。すいません。 grep -E "[ADF$]" output_ora.log > output_cmn.log
otn

2018/04/26 13:48

おそらく、'[ADF]$'が意図したものでは?
over

2018/04/26 13:52

いや、そこまで理解出来きていないです。シングルだとどう違うのか教えて頂けます?
otn

2018/04/26 14:01

いえ、「$ は[]の外だろう」という指摘です。その違いにも気づかないとは!
over

2018/04/26 23:57

すいません。気付けていませんでした。ご指摘ありがとうございます。 grep -E "[ADF]$" output_ora.log > output_cmn.log
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問