• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:シェルスクリプト)

UNIXシェルスクリプトで特定の文字列を条件として行を出力する方法

このQ&Aのポイント
  • UNIXのシェルスクリプトを使用して、テキストファイルの特定の列にある文字列を条件として、その行を出力する方法について質問がありました。
  • 問題ないか逆質問の形で投稿しますが、シェルスクリプトを作成しました。質問は締め切られているため、質問内容について確認したいです。
  • シェルスクリプトでは、`catalog.file`というファイルから行を読み込み、指定した列の文字列をチェックし、一致した場合にその行を出力します。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.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

tachiwa
質問者

お礼

幅広い応用例を見せていただきました。有難うございます。

関連するQ&A