業務でLinuxを使うことになりコマンドを勉強しています。

Linux系 | プログラミング125閲覧xmlns="http://www.w3.org/2000/svg">100

ベストアンサー

2

2人がナイス!しています

この返信は削除されました

ThanksImg質問者からのお礼コメント

ご教授ありがとうございました。 正規表現は、慣れるまでまだまだ時間が掛かりそうですが、引き続き学習していこうと思います。

お礼日時:10/26 7:49

その他の回答(2件)

1

2行目ってのがわかっていれば、これでいいんですがね。 さてさて。 head -n 2 test.csv | tail -n 1 ちょっとというか、かなりダサい気もするが、これでも、OKですね。 cat test.csv | grep '\(.*,\)\{3\}"102",'

1人がナイス!しています

ご回答ありがとうございます。 2列目の異動元所属で抽出したかったので、ご回答の「{3}」の部分を以下に変えて実行してみたのですが、 cat test.csv | grep '\(.*,\)\{1\}"102",' 異動元所属と異動先所属が102に該当する以下の3行を拾ってしまいました。 # cat test.csv | grep -E '^(.*,){1}"102",' "1256","101","2000","102","2000","002" "2394","102","2000","101","2000","100" "3004","102","2000","201","2000","200" あっているような気がするんですが、、、

1

gawk -F, '$2 == "102" {print;}' test.csv

1人がナイス!しています

ご回答ありがとうございます。 gawkコマンドが存在しなかったので、 awk -F, '$2=="102" {print;}' test.csv としました。 ですが、どうも"102"のダブルクォーテーションを文字列として認識していないのか? 抽出できませんでした。 データを以下のように異動元所属を数値にして <test.csv> 職員番号,異動元所属,担当顧客,異動先所属,担当顧客,発行区分 1005,101,"1000","203","1002","001" 1256,101,"2000","102","2000","002"  : awk -F, '$2==102 {print;}' test.csv とした、ところ取得できました。 "ダブルクォーテーションを文字として扱うには、、、\"102\"としてみたりしたのですが駄目でした。