アプリ版:「スタンプのみでお礼する」機能のリリースについて

UNIXのシェルスクリプトを使用してテキストファイルのある列にある
特定の文字列を条件としてその行を出力するということをやりたいのですが
どのようにすればできるでしょうか?
例えば,以下のようなテキストファイルがあって,2列目がYAHOOの行を
主力したいというようなことです。

AAA SOFTBANK
BBB YAHOO
YAHOO TEST
CCC QUICK
DDD YAHOO

BBB YAHOO
DDD YAHOO

A 回答 (3件)

awkならこうしますが、どうしてもシェルスクリプトがよいのですか?


awk '$2 == "YAHOO"{print $0}' filename

この回答への補足

特に方法はこだわらなかったのですが,awkスクリプトを使用すれば簡単にできることはわかっていたのですが,シェルスクリプトでも簡単に実現する方法があればと思い質問しました。でも,投稿していただいた方法
を使用すればシェルスクリプトで実現できそうですね。まだ,これ以外にも方法があったりするのでしょうか?

補足日時:2006/02/14 17:10
    • good
    • 0

他に条件がなければgrepで可能。


grep ' YAHOO$' ファイル名

たぶん
    • good
    • 0
この回答へのお礼

確かに,質問のケースではO.K.でした。ただ,汎用性という面では
NO.1の方の回答のほうが上みたいです。ありがとうございました。

お礼日時:2006/02/15 10:52

テキストファイルの名前は catalog.fileとします。


次のようなシェルスクリプト(名前は grep_bashとします)を作成して実行すると検索したい文字列を聞いてくるのでYAHOOと入力するとその行が出力されます。(chmod 755 grep_bashとして実行権を与えれば
./grep_bash 又は . grep_bashで実行されます)

#!/bin/bash
echo -n "検索文字列を入力してください"
read A1
cat catalog.file | grep $A1

この回答への補足

この方法では2列目の単語がという条件がクリアされないように思うのですが..

補足日時:2006/02/15 08:53
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!