2012-04-21 15 views
1

grepを使用してコマンドラインで文字列プロパティを解析しようとしています。プロパティを取得しています:xinputプロパティにgrepを使用すると問題が発生する

[email protected]:~$ xinput --list-props "FSPPS/2 Sentelic FingerSensingPad" 
Device 'FSPPS/2 Sentelic FingerSensingPad': 
    Device Enabled (131): 0 
    Coordinate Transformation Matrix (133): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 
    Device Accel Profile (257): 0 
    Device Accel Constant Deceleration (258): 1.000000 
    Device Accel Adaptive Deceleration (259): 1.000000 
    Device Accel Velocity Scaling (260): 10.000000 
    Device Product ID (248): 2, 15 
    Device Node (249): "/dev/input/event9" 
    Evdev Axis Inversion (261): 0, 0 
    Evdev Axes Swap (263): 0 
    Axis Labels (264): "Rel X" (141), "Rel Y" (142) 
    Button Labels (265): "Button Left" (134), "Button Middle" (135), "Button Right" (136), "Button Wheel Up" (137), "Button Wheel Down" (138), "Button Horiz Wheel Left" (139), "Button Horiz Wheel Right" (140), "Button Unknown" (251), "Button Unknown" (251), "Button Forward" (254), "Button Back" (255), "Button Unknown" (251), "Button Unknown" (251), "Button Unknown" (251), "Button Unknown" (251) 
    Evdev Middle Button Emulation (266): 0 
    Evdev Middle Button Timeout (267): 50 
    Evdev Third Button Emulation (268): 0 
    Evdev Third Button Emulation Timeout (269): 1000 
    Evdev Third Button Emulation Button (270): 3 
    Evdev Third Button Emulation Threshold (271): 20 
    Evdev Wheel Emulation (272): 0 
    Evdev Wheel Emulation Axes (273): 0, 0, 4, 5 
    Evdev Wheel Emulation Inertia (274): 10 
    Evdev Wheel Emulation Timeout (275): 200 
    Evdev Wheel Emulation Button (276): 4 
    Evdev Drag Lock Buttons (277): 0 

プロパティはDevice Enabledです。だから、私はそうgrepを使用します:

[email protected]:~$ xinput --list-props "FSPPS/2 Sentelic FingerSensingPad" | grep "Device Enabled (131):" 
    Device Enabled (131): 0 

しかし、私は(最後の0または1のいずれかを含む)全体のプロパティ文字列でgrepしたいので、私はこれを試してみてください。

[email protected]:~$ xinput --list-props "FSPPS/2 Sentelic FingerSensingPad" | grep "Device Enabled (131):*0" 

しかし、何も返さないこと。私は*0を入れました。私は0の前にどんなキャラクターもカバーすると思っていたはずです。なぜこれがうまくいかないのか誰にも分かりません。 (私はbashの新機能ですが、これは実際にはbashスクリプトで実行していますが、テスト用にコマンドラインでも実行していますが、まだ動作しません)。

何か助けていただきありがとうございます。シェルグロブのためではなく、正規表現の正しいであろう

乾杯

答えて

2

.*は任意の数の任意の文字に一致しますが、" *"(引用符は使用しないでください。あなたが持っているもの、:*0は、0の直前に0個以上のコロンと一致します。

+0

ありがとう@geekosaur、 '。*'を使って、魅力的に働いた!奇妙なことに、 "*"は動作しませんでした(引用符なし)。 – Jarrett

+0

これは、実際にはスペースではなくタブである可能性があります。わかりにくいですし、 'xinput'の動作を信頼できるように現時点で確認することはできません。 – geekosaur

+0

ああ、それは考えていないかもしれない。再度、感謝します。 – Jarrett

関連する問題