🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

AWK

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

Q&A

解決済

2回答

1844閲覧

シェルスクリプト:awk内の変数が正常に反映されない

candycorn

総合スコア9

bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

AWK

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

0グッド

0クリップ

投稿2021/01/06 10:12

質問です。data.csvから読み込んだ値を用いて以下のようなスクリプトを動かしたいのですが、awk内の${COLS[0]}の値が正常に読み込まれず、そのまま${COLS[0]}と出力されてしまいます。
検索してもわからないため、原因と解決策を教えていただければ幸いです。
環境は、MacOS Kernel Version: Darwin 20.2.0、bash5.0を使用しています。
よろしくお願いいたします。

shell

1#!/bin/bash 2declare -a COLS 3cat data.csv | while IFS=, read -a COLS; do 4 cat "${COLS[0]}"_result.txt | awk -F"," '{print $3"\t""${COLS[0]}"}' | sed '/NA/d' | uniq >> result.txt 5 echo "${COLS[0]}" 6done

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

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

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

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

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

guest

回答2

0

ベストアンサー

おそらくこういうことがしたいのだと思いますが

awk -F"," '{print $3,"\t",'${COLS[0]}'}'

こっちの方がわかりやすいかなあ

awk -F"," -v hoge=${COLS[0]} '{print $3,"\t",hoge}'

投稿2021/01/06 11:24

takasima20

総合スコア7460

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

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

candycorn

2021/01/06 11:38

ありがとうございます!2つ目に提示していただいた方を使わせていただきました。
guest

0

シングルクォートで文字列を囲んでいるために、その中の${COLS[0]}が置き換えられません。
ダブルクォートで囲んで、"は"にすれば良いと思います。

投稿2021/01/06 11:08

akiruno-oneone

総合スコア815

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問