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

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

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

AWKは、UNIX 上で開発されたプログラミング言語で、CSVファイルなどのテキストファイルの処理を目的にデザインされています。

Q&A

4回答

6433閲覧

awkで特定の日付だけ抽出したい

tixure55

総合スコア400

AWK

AWKは、UNIX 上で開発されたプログラミング言語で、CSVファイルなどのテキストファイルの処理を目的にデザインされています。

0グッド

0クリップ

投稿2015/11/11 02:04

日付,カテゴリ,金額,備考
09/25,仕送り,+25000,
10/01,食費,-1253,
10/02,医療,-1200,皮膚科
10/02,医療,-760,薬局の処方薬
10/02,PC用品,-3180,外付けCDドライブ
10/03,食費,-379,
10/03,食費,-398,
10/03,美容室,3150,
10/04,食費,-580,
10/05,食費,-667,
10/06,食費,-420,
このようなtest.csvがあって、10/03分のみコンソール出力したいのですが、awkでどのように書けばよいですか?

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

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

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

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

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

guest

回答4

0

awkを使う必要はなく、

sh

1grep 10/03 test.csv

で十分だと思います。

投稿2015/11/11 02:17

KiyoshiMotoki

総合スコア4791

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

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

0

grep '^10/03' が簡単ですが、awkでやるなら、

awk '/^10\/03/'

1行目のヘッダも残すなら、

awk 'NR==1 || /^10\/03/'

投稿2015/11/11 02:16

otn

総合スコア84557

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

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

0

データファイル (1.csv) , コマンドラインとその実行結果を示します。

1.csv

日付,カテゴリ,金額,備考 09/25,仕送り,+25000, 10/01,食費,-1253, 10/02,医療,-1200,皮膚科 10/02,医療,-760,薬局の処方薬 10/02,PC用品,-3180,外付けCDドライブ 10/03,食費,-379, 10/03,食費,-398, 10/03,美容室,3150, 10/04,食費,-580, 10/05,食費,-667, 10/06,食費,-420,

コマンドラインと実行結果

$ cat 1.csv | awk -F"," '{if ($1=="10/03") {print $0}}' 10/03,食費,-379, 10/03,食費,-398, 10/03,美容室,3150,

参考情報

投稿2015/11/11 12:24

katoy

総合スコア22324

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

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

0

awk 'BEGIN{FS=","}NR

1 && $1=="10/03"{print}' test.csv

とすれば出来ると思います。

最初にフィールドセパレータ(FS)を
指定します。区切り文字のことです。

NR > 1 はヘッダ(1行目)を
除外するために必要です。

$n は n番目の項目を表します。
$1 == "10/03" は、
1番目の項目が 10/03 かを
調べています。

条件が成立したら、printで
行全体を出力します。

投稿2015/11/11 11:06

umeaji

総合スコア101

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問