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

ファイルhoge.txtに
aaaaa
bbbbb



xxxxx
と書かれているとします
ここから特定の文字列を除外するとき
egrep -v "aaaaa|bbbbb" hoge.txt
とすれば、aaaaaとbbbbbは除外され表示されますよね
これは"aaaaa|bbbbb"の部分で除外する対象を
指定するわけですが、出来れば"|"のような
セパレータではなく、単純に
xgrep -v aaaaa bbbbbと書きたいのですが
このような書き方ってありますか?

除外対象となる文字列が都度変わる(つまり
あるときはaaaaaとbbbbbを除去したいし、別の
場面ではcccccとdddddとeeeeeを除去したいなど)
ため、除去対象を配列として保持して
xgrep -v $exclude のように書くことができれば
配列を変えるだけでロジックに変更が起きないと
思っているのですがうまいやり方が見つかりません

A 回答 (1件)

シェルやPerlでスクリプトを組めばいいです。



スクリプトの中で、引数で受け取った複数の文字列を「|」をはさんで連結して、
grep に渡せばいいです。

スクリプトを組む知識があれば簡単です。
    • good
    • 0
この回答へのお礼

自己解決しました。ありがとうございました
------------------------------------
#!/bin/csh

set args=""

foreach x ( aaa bbb ccc )
set args=( ${args} -ve ${x} )
end

cat hoge.txt | grep ${args}
-------------------------------------

お礼日時:2006/09/26 21:03

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