これでできま…せんでした。できるにはできるのですが、出力が多すぎて見えない。
find /mnt/c/pg/autohotkey -type f | xargs grep "GetKeyState"
この全文検索スクリプトを使う機会があって、いざ使ってみたら…
find /mnt/c/pg/autohotkey -type f | xargs grep "GetKeyState"
grep: ショートカット.lnk: そのようなファイルやディレクトリはありません
grep: /mnt/f/__HDD_BACKUP__/usb_backup/ahk/ショートカット/autohotkey.aux.ahk: そのようなファイルやディレクトリはありません
grep: ショートカット.lnk: そのようなファイルやディレクトリはありません
grep: /mnt/f/__HDD_BACKUP__/usb_backup/ahk/ショートカット/Markdown.ahk: そのようなファイルやディレクトリはありません
grep: ショートカット.lnk: そのようなファイルやディレクトリはありません
grep: /mnt/f/__HDD_BACKUP__/usb_backup/ahk/ショートカット/music.ahk: そのようなファイルやディレクトリはありません
grep: ショートカット.lnk: そのようなファイルやディレクトリはありません
grep: /mnt/f/__HDD_BACKUP__/usb_backup/ahk/ショートカット/myautohotkey.ahk: そのようなファイルやディレクトリはありません
grep: ショートカット.lnk: そのようなファイルやディレクトリはありません
grep: /mnt/f/__HDD_BACKUP__/usb_backup/ahk/ショートカット/Perfect.ahk: そのようなファイルやディレクトリはありません
grep: ショートカット.lnk: そのようなファイルやディレクトリはありません
こんな感じで、うるさい。どこにあるのかわかったもんじゃない。
find /mnt/f/__HDD_BACKUP__/usb_backup/ahk -type f | xargs grep "GetKeyState" | grep "一致しました"
これだと、色がつくて見やすくはなるんだけど、出力は変わらない。
質問してみた。:もし出力にある文字列を含むなら、その出力をnullに渡して標準出力しないようにする。
fgrepなるものがあるらしい。一回だけ聞いたことある…
|& fgrep -v "含みたくない文字列"
grepでも、-vだと含まない場合になります。fgrepも同じなのでわかりやすいですね。fgrepがなんなのかよくわかってないですが。
ではやってみよう。
yuis@DESKTOP-UHU8FSH:/mnt/c/pg/zenkaku_henkan$ find /mnt/f/__HDD_BACKUP__/usb_backup/ahk -type f | xargs grep "GetKeyState" |& fgrep -v "そのようなファイルやディレクトリはありません"
バイナリファイル /mnt/f/__HDD_BACKUP__/usb_backup/ahk/2017_05_07_ahk/ahk/ahkコンパイル/fn1-12.exe に一致しました
バイナリファイル /mnt/f/__HDD_BACKUP__/usb_backup/ahk/2017_05_07_ahk/ahk/ahkコンパイル/lifehack.exe に一致しました
バイナリファイル /mnt/f/__HDD_BACKUP__/usb_backup/ahk/2017_05_07_ahk/ahk/ahkコンパイル/Perfect.exe に一致しました
バイナリファイル /mnt/f/__HDD_BACKUP__/usb_backup/ahk/2017_05_07_ahk/ahk/ahkコンパイル/クリック連打.exe に一致しました
バイナリファイル /mnt/f/__HDD_BACKUP__/usb_backup/ahk/2017_05_07_ahk/ahk/ahkコンパイル/マウス操作.exe に一致しました
/mnt/f/__HDD_BACKUP__/usb_backup/ahk/2017_05_07_ahk/ahk/ahkテンプレ/021/AutoScroll.ahk: GetKeyState,state,LButton
/mnt/f/__HDD_BACKUP__/usb_backup/ahk/2017_05_07_ahk/ahk/ahkテンプレ/021/AutoScroll.ahk: GetKeyState,state,RButton
/mnt/f/__HDD_BACKUP__/usb_backup/ahk/2017_05_07_ahk/ahk/ahkテンプレ/WheelScroll.ahk: wpalam :=GetKeyState("LButton") | GetKeyState("RButton") <<1
/mnt/f/__HDD_BACKUP__/usb_backup/ahk/2017_05_07_ahk/ahk/ahkテンプレ/WheelScroll.ahk: | GetKeyState("Shift") <<2 | GetKeyState("Ctrl") <<3
ちゃんとほしい情報だけ出力されていますね。
ちなみに、経緯としては、前GetKeyState
を使ったスクリプトを書いて、それを参考にしたかったんだけど、見つからない…そこで全文検索しようか、という感じです。
でも、これだとまだ情報が多い。
exeファイルとかbinファイルとかも混じっちゃってるし。
自分が書いたものは、.ahk
だけで、探しているファイルも確実にahkスクリプトなので、ここはもうひと工夫。
yuis@DESKTOP-UHU8FSH:/mnt/c/pg/zenkaku_henkan$ find /mnt/f/__HDD_BACKUP__/usb_backup/ahk -type f | xargs grep "GetKeyState" |& fgrep -v "そのようなファイルやディレクトリはありません" |& fgrep ".ahk"
/mnt/f/__HDD_BACKUP__/usb_backup/ahk/2017_05_07_ahk/ahk/ahkテンプレ/021/AutoScroll.ahk: GetKeyState,state,LButton
/mnt/f/__HDD_BACKUP__/usb_backup/ahk/2017_05_07_ahk/ahk/ahkテンプレ/021/AutoScroll.ahk: GetKeyState,state,RButton
/mnt/f/__HDD_BACKUP__/usb_backup/ahk/2017_05_07_ahk/ahk/ahkテンプレ/WheelScroll.ahk: wpalam :=GetKeyState("LButton") | GetKeyState("RButton") <<1
/mnt/f/__HDD_BACKUP__/usb_backup/ahk/2017_05_07_ahk/ahk/ahkテンプレ/WheelScroll.ahk: | GetKeyState("Shift") <<2 | GetKeyState("Ctrl") <<3
/mnt/f/__HDD_BACKUP__/usb_backup/ahk/2017_05_07_ahk/ahk/ahkテンプレ/WheelScroll.ahk: | GetKeyState("MButton") <<4 | GetKeyState("XButton1")<<5
/mnt/f/__HDD_BACKUP__/usb_backup/ahk/2017_05_07_ahk/ahk/ahkテンプレ/WheelScroll.ahk: | GetKeyState("XButton2")<<6
/mnt/f/__HDD_BACKUP__/usb_backup/ahk/2017_05_07_ahk/ahk/temp-auto.ahk:; If GetKeyState("Shift","P")
/mnt/f/__HDD_BACKUP__/usb_backup/ahk/ahkテンプレ/021/AutoScroll.ahk: GetKeyState,state,LButton
/mnt/f/__HDD_BACKUP__/usb_backup/ahk/ahkテンプレ/021/AutoScroll.ahk: GetKeyState,state,RButton
完璧。