文字列のディレクトリを検索したいです/sys/class/tty/*
。だから私は次のことを試しました。
# grep -rn path -e pattern
しかし、何も返しません。例:
# cat /sys/class/tty/ttySTM0/iomem_base
0x40010000
# ls -l /sys/class/tty/ttySTM0/iomem_base
-r--r----- 1 root root 4096 Jan 17 10:37 /sys/class/tty/ttySTM0/iomem_base
# grep -rn /sys/class/tty/ -e 0x40010000
#
別のディレクトリで同じ構文を使用すると動作するようです。
# grep -rn /opt -e Could
# /opt/logs/joku1_log.txt:29:Could not read interface wlan0 flags: No such device
そのような研究に注意することはありますか?私の目標は、どちらがtty
特定のアドレスを持っているかを見つけることですiomem_base
。
ベストアンサー1
次のいずれかのオプションを使用します。
grep -rn /sys/class/tty/* -e 0x40010000 2> /dev/null
grep -Rn /sys/class/tty/ -e 0x40010000 2> /dev/null
最初のコマンドのglobは、コマンドラインに指定されていないシンボリックリンクに従うようにするために必要です。 globの内容は/sys/class/tty
すべて/sys/devices/virtual/tty
内容へのシンボリックリンクであるためです/sys/devices/platform/serial####/tty
。
デフォルトでは、2番目のコマンドのコマンドは-R
シンボリックリンクの後にあり、globは必要ありません。
2> /dev/null
SendInput/output error
とPermission denied
messageを追加した/dev/null
理由は、どちらも返されないときに出力を読みやすくするためです。