bash 根据要求查找带路径的命令
bash find command with path as requirement
我想使用 find 命令获取 /bin 中包含字母 'm' 的文件的文件名,而不是在 /bin 中。
当 /bin 是我的工作目录时它工作正常但是当我在路径中添加 /bin 作为要求时它 returns 与当前目录无关。
作品:
find -type f -name "*m*" -exec basename {} \;
不会:
find -type f -name "*m*" -path "/bin/*" -exec basename {} \;
我怀疑你不想使用 -path /bin…
而只是
find /bin -type f -name "*m*" -exec basename {} \;
find
的第一个参数是要搜索的路径。-path
标志是一种模式匹配功能,用于检查模式是否与找到的名称的完整路径相匹配。
事实上,如果您在 BSD 查找(例如 macOS 附带的)上尝试过此命令,它甚至不会让您尝试其中一个命令,因为您没有包含路径。
find -type f … # not ok
find . -type f … # ok
find /bin -type f … # ok
这会起作用。
find /bin/* -type f -name "*m*" -exec basename {} \;
相当于进入/bin文件夹执行
find -type f -name "*m*" -exec basename {} \;
我想使用 find 命令获取 /bin 中包含字母 'm' 的文件的文件名,而不是在 /bin 中。 当 /bin 是我的工作目录时它工作正常但是当我在路径中添加 /bin 作为要求时它 returns 与当前目录无关。
作品:
find -type f -name "*m*" -exec basename {} \;
不会:
find -type f -name "*m*" -path "/bin/*" -exec basename {} \;
我怀疑你不想使用 -path /bin…
而只是
find /bin -type f -name "*m*" -exec basename {} \;
find
的第一个参数是要搜索的路径。-path
标志是一种模式匹配功能,用于检查模式是否与找到的名称的完整路径相匹配。
事实上,如果您在 BSD 查找(例如 macOS 附带的)上尝试过此命令,它甚至不会让您尝试其中一个命令,因为您没有包含路径。
find -type f … # not ok
find . -type f … # ok
find /bin -type f … # ok
这会起作用。
find /bin/* -type f -name "*m*" -exec basename {} \;
相当于进入/bin文件夹执行
find -type f -name "*m*" -exec basename {} \;