UNIX初心者です。
以下のようなデータファイル(AA.dat)から、条件を満たすデータの特定フィールドを別のファイル(BB.dat)に出力したいのです。
どのようにしたら良いのでしょうか?
AA.dat(CSV形式)
aaa,22,33,44,55,66,77,88,1,1,0,0,1001
bbb,22,33,44,55,66,77,88,1,1,0,0,1002
ccc,22,33,44,55,66,77,88,1,0,0,0,1001
ddd,22,33,44,55,66,77,88,1,1,0,0,1002
抽出条件(フィールド=$1~$13)
$9==1 かつ $10==1 かつ $11==0 かつ $12==0 かつ $13==1002
出力するフィールド
$1,$2,$4,$7,$8
出力結果 BB.dat(CSV形式)
bbb,22,44,77,88
ddd,22,44,77,88
No.1ベストアンサー
- 回答日時:
CSVに文字列が含まれている(区切り文字ではなくデータとしてのカンマがある)と、awkではかなりややこしくなりますが。
それがないCSVならば、こんな感じで行けるでしょう。BEGIN{FS=",";OFS=FS}
$9==1 && $10==1 && $11==0 && $12==0 && $13==1002 {
print $1,$2,$4,$7,$8 > "BB.dat"
}
出力ファイルはこんな風にプログラムに組み込みで固定にするのではなくて、リダイレクトで指定した方が柔軟です。
この回答への補足
回答有り難うございました。
実行してみたのですが、上手くゆかず、データを確認したところ、
抽出条件のデータの一部に、ダブルクォーテーションで囲まれた数値が存在することが分かりました。
↓こういう場合はどのようにすれば良いのでしょうか?
AA.dat(CSV形式)
aaa,22,33,44,55,66,77,88,"1","1",0,0,1001
bbb,22,33,44,55,66,77,88,"1","1",0,0,1002
ccc,22,33,44,55,66,77,88,"1","0",0,0,1001
ddd,22,33,44,55,66,77,88,"1","1",0,0,1002
ダブルクォーテーションが無い場合については、うまく行きました!
有り難うございます。
No.2
- 回答日時:
CSV Parser
http://lorance.freeshell.org/csv/csv.html
上記URLの内容を csv.awk として保存し
csv.awk の
81行目から~101行目を書き換えて
awk -f csv.awk data.csv
と実行。
CSVってたいへ~ん。
回答有り難うございました。
UNIX初心者のため、内容を理解するのに時間がかかりますが、参考にさせていただきます。有り難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
- その他(プログラミング・Web制作) Fortranでの出力ファイル 2 2023/03/21 21:25
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Visual Basic(VBA) マクロを教えてください。 7 2023/06/01 19:47
- Visual Basic(VBA) 【VBA】特定の文字で改行(次の行)に行きたい。 3 2022/04/11 17:20
- SQL Server ACCESSで3ファイルを結合して、表を作成するやり方を教えて下さい。 17 2022/08/15 20:34
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラム言語について。
-
VBAでパワーシェルを実行したい...
-
C#とC++について。
-
CLispのloop内の挙動について
-
interface 2021年5月号 P46
-
VBA 電話番号の正規表現について
-
Windowsのアプリ開発ってなんの...
-
プログラミングのPythonのnoteb...
-
vba クリップボードクリアにつ...
-
ImageMagickでgif画像の一部が...
-
ExcelVBAでFormulaR1C1を列範囲...
-
pythonにてseleniumを使うも、...
-
ホワイトハッカー
-
小学1年生の子です。塾に行かせ...
-
pythonで複数画像からgifを作る...
-
ハッシュテーブル(連想配列)が...
-
httpリクエストの送り元の特定
-
楽しくて最高のプログラミング...
-
プログラミング
-
家庭のパソコンで Python の 環...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミング
-
小学1年生の子です。塾に行かせ...
-
vba クリップボードクリアにつ...
-
プログラマーと学歴の関係性に...
-
Webサイト内に埋め込んだmp4動...
-
正規表現で複数マッチ条件で悩...
-
windowsでテキストファイルの各...
-
楽しくて最高のプログラミング...
-
プログラミング ソースコード
-
Pythonって何を意識した言語な...
-
プログラミングを教えたいです...
-
pythonで複数画像からgifを作る...
-
pythonにてseleniumを使うも、...
-
Pythonでgif画像が上手く作れない
-
Google ColaboでGUI作成
-
テキストファイルのファイル名...
-
プログラミング、アーキテクチ...
-
そのまま使っただけなのに・・...
-
このURLで広告を出しているのは...
-
chatGPTで次々と質問をしていく...
おすすめ情報