- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:シェルスクリプト)
UNIXシェルスクリプトで特定の文字列を条件として行を出力する方法
このQ&Aのポイント
- UNIXのシェルスクリプトを使用して、テキストファイルの特定の列にある文字列を条件として、その行を出力する方法について質問がありました。
- 問題ないか逆質問の形で投稿しますが、シェルスクリプトを作成しました。質問は締め切られているため、質問内容について確認したいです。
- シェルスクリプトでは、`catalog.file`というファイルから行を読み込み、指定した列の文字列をチェックし、一致した場合にその行を出力します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
問題ないかどうかは実行させてみればわかると思いますが。 改善するとしたら普通はファイルを使わず、 DOG=`echo $LINE|cut -d" " -f2` と書きますね。ただ、これでも外部コマンド cut を使っているので、外部コマンドを使うならやはり、 awk '$2=="YAHOO"' catalog.file がシンプルです。 外部コマンドを使わないでやるなら、 #!/bin/bash CAT=YAHOO while read LINE do DOG=($LINE) # DOG[0],DOG[1],...にばらす if [ "$CAT" = "${DOG[1]}" ] then echo "$LINE" fi done < catalog.file
お礼
幅広い応用例を見せていただきました。有難うございます。