行のX番目の要素をフィルタリングしますか?

行のX番目の要素をフィルタリングしますか?

例えば、手に入れたい3番目の要素のみ電話をかけると、各回線は次のようになります。

xinput --list --short|grep "slave  pointer"

私は出力を取得します:

⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=11   [slave  pointer  (2)]
⎜   ↳ MCE IR Keyboard/Mouse (ite-cir)           id=12   [slave  pointer  (2)]
⎜   ↳ Logitech Unifying Device. Wireless PID:101a   id=14   [slave  pointer  (2)]

「SynPS/2 Synaptics TouchPad」と同じ名前を得たいと思います。

どこかでawkとprintを使用する解決策を見ましたが、これを達成するためのより簡単な解決策はありません。いいえ awkそれともperlこんなこと?

ベストアンサー1

愚かなはいこの種の作業は非常に簡単ですが、次のものを使用することもできますcut

xinput --list --short|grep "slave  pointer" | cut -f 1

これには先行スペースと文字も含まれます。これらの問題を取り除く必要がある場合は、以下を試してください。

xinput --list --short|grep "slave  pointer" | cut -f 1 | cut -d" " -f 5-

おすすめ記事