08/04/23 22:57:21 xEICV4cP
grepの結果で AAAとBBBのOR検索をしたいのですが、
tail -f /var/log/maillog | grep [AAA|BBB]
とやってもだめでしたorz
どうすれば、OR検索ができるのでしょうか?
ANDは、パイプで追加すれば可能なのですが・・。
949:login:Penguin
08/04/23 23:29:21 Y+58Od8z
なんで tail -f なんてする必要が有るんだ?
950:login:Penguin
08/04/23 23:33:35 M4AkpEZt
>>948
grep -E "(AAA|BBB)" もしくは
egrep "(AAA|BBB)"
951:948
08/04/24 04:44:09 8uaGXJVC
>>950
egrepでしたか、ありがとうございます。
>>949
1秒に100行以上流れるログなので、速すぎて読めないのよねw
952:login:Penguin
08/04/24 09:43:23 C5h8jkbM
一秒に100行以上流れるとか全然関係ないと思うぞ。
953:login:Penguin
08/04/24 10:09:04 iBrwQJHF
そんなにおかしいか?
おれもよくやるけどな。
954:login:Penguin
08/04/24 19:19:48 BuhR71Gk
>>952
logの監視は他にどんな手段でやってるの?
955:login:Penguin
08/04/24 19:42:01 28W2p82+
tail -fしても速く流れるのは変わらないだろ?
大きなファイルの増分だけ見たい時は有効だけど。
956:login:Penguin
08/04/24 19:54:48 iBrwQJHF
たとえば
tail -f access_log | grep 10.99.78.22
とかやっといて、10.99.78.22 からアクセスしながらログを見たりする。
tail -f access_log だけだとログが多過ぎるし
grep 10.99.78.22 access_log ではリアルタイムに見れない。
つーか、なんでそんなに否定したがるんだ?
957:login:Penguin
08/04/24 20:51:49 PIJRHfrL
そんなのは常識。
tail -fするのは、増分を見たいからだろ?
速く流れるのは関係ない。それはgrepの役目。
>>949に対する>>951の答えはおかしい。
それが読み取れない>>953も疑問。
958:login:Penguin
08/04/24 23:00:30 amh/02/G
>>956
基本だよな。それって。
959:login:Penguin
08/04/25 01:12:52 05aUO6OC
役に立たないのは949,952,957のレスだろ
つegrep -v '(949|952|957)'
960:login:Penguin
08/04/26 03:30:44 2buln9M4
ファイルを検索して、
ファイル名によって分岐させたいと思っています。
以下のようにスクリプトを書いたのですが、
if [ $file = *.o ]
がうまく動作してくれません。
どこが間違っているのでしょうか?
# $1はディレクトリ
for file in `find $1`
do
if [ -x $file ]; then
echo "x: Name=$file"
else
if [ $file = *.o ]; then # .oで終わるファイル
echo ".o: Name=$file"
else
echo "not .o: Name=$file"
fi
fi
done
961:login:Penguin
08/04/26 03:41:55 l2xr5sbr
[ $file = *.o ] の * がパス名展開されるから。
こういう時は case 文使うと楽。
case "$file" in
*.o) echo ".o: Name=$file" ;;
*) echo "not .o: Name=$file" ;;
esac
962:960
08/04/26 04:22:04 2buln9M4
>>961
ありがとうございます!
>* がパス名展開される
なるほどです。
今後のためにお聞きしたいのですが、
このままifで処理するには
どのようにしたらよいのでしょうか?
963:login:Penguin
08/04/26 05:02:51 +ITD/myA
expr でパターンマッチさせた結果を判定するのが常套手段だと思う。
でも解り易さで俺も>>961おすすめ。
shでなくbashやzshに依存するやり方で良いなら他にもあるので、manするとエエでがす。
964:960
08/04/26 11:07:16 2buln9M4
>>963
expr、なるほど。
C++やってるときも、caseなんてifがあるから要らね、
とか言ってるのをshにも持ち込んでしまったわけですが、
shではcaseを格上げします。
ありがとうございました。
965:login:Penguin
08/04/26 11:09:05 zBt65CRz
>>964
ざけんな。switchの方がコードの見通しがよくなる場面が多々ある。
適材適所だ。
966:login:Penguin
08/04/27 00:22:17 FoD+QJwV
一文字のみ、小文字を大文字に置換の方法、教えてください
_linux
から
_Linux
へ
(この場合、小文字lを大文字Lへ、一文字のみ)
trとかsedでぐぐってみましたが、すべての文字に適用される例のものばかりで。。。
967:login:Penguin
08/04/27 00:31:12 mG61TWcx
echo _linux | sed -e 's/[a-z]/\U&/'
968:login:Penguin
08/04/27 01:13:49 FoD+QJwV
>>967
ありがとうございます
期待通りの動作になりました、感謝