前提・実現したいこと
A01結果.tsv
A02結果.tsv
B03結果.tsv
F04結果.tsv
A01_test結果.tsv
上記のようなファイルがディレクトリにあり、
A00のような、アルファベット1文字+数字2文字+'結果'に該当するtsvファイルのみを結合させたいのですが、
(例だと、一番下のA01_test.tsvは結合したくないファイルで、それ以外を結合したいです。)
どのファイルもヘッダーが同じなので、以下のようなコードで1番上のヘッダーだけ残して複数のファイルを結合しているのですが、
bash
1awk 'NR==1 || FNR!=1' *.tsv > merge.tsv
とすると、*.tsvとワイルドカードを使っているので、当然のごとく全てのtsvファイルが結合されてしまいます。
bash
1awk 'NR==1 || FNR!=1' ^[A-Z][0-9]{2}結果.tsv > merge.tsv
とすると、A-Zで始まり、数値2桁が次に入り、結果.tsvで終わるファイルのみ結合されるかなーと考えたのですが、次項のエラーが排出されました。
発生している問題・エラーメッセージ
awk: can't open file ^[A-Z][0-9]{2}結果.tsv source line number 1 [Done] exited with code=2 in 0.032 seconds
該当のソースコード
bash
1awk 'NR==1 || FNR!=1' ^[A-Z][0-9]{2}結果.tsv > merge.tsv
試したこと
シングルクォーテーションの位置などを変えてみたりなどしましたが、
うまくいきませんでした…。
回答4件
あなたの回答
tips
プレビュー