Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 查找:-printf:未知选项_Macos_Bash_Shell_Pipe - Fatal编程技术网

Macos 查找:-printf:未知选项

Macos 查找:-printf:未知选项,macos,bash,shell,pipe,Macos,Bash,Shell,Pipe,可能重复: 不确定以下命令有何错误,但任何人都可以发现错误: find public_html -name '*.php' -printf '%h \n' | sort -u > dirlist.txt 基本上,我试图在我的公共html目录中找到扩展名为*.php的所有目录的名称。然后打印出该文件所在的目录。它的输出通过管道进行排序,重复的条目通过-u标志删除,结果存储在新文件dirlist.txt中 但我在执行死刑时得到的是: find: -printf: unknown opti

可能重复:

不确定以下命令有何错误,但任何人都可以发现错误:

find public_html -name '*.php'  -printf '%h \n' | sort -u > dirlist.txt
基本上,我试图在我的公共html目录中找到扩展名为*.php的所有目录的名称。然后打印出该文件所在的目录。它的输出通过管道进行排序,重复的条目通过-u标志删除,结果存储在新文件dirlist.txt中

但我在执行死刑时得到的是:

find: -printf: unknown option 
不知道我哪里弄错了


谢谢

您的find版本似乎没有-printf选项

我也会这样做:

find public_html -type f -name '*.php' | xargs -n1 dirname | sort -u > dirlist.txt

是的,您的版本似乎没有-printf选项-Mac变体我不知道-可能还有其他版本

您的备选方案是将其输送到sed并进行排序,如下所示:

find public_html -name '*.php'|sed 's#\(.*\)/.*#\1#' |sort -u 

该错误是因为
find
没有
printf
选项-这正是错误消息所说的。在你的系统上检查
manprintf
,看看该怎么做。嗨,亚当,这是OS X Lion,使用mac终端你可以安装GNU Findutill。我猜这是因为我在OS X终端上遵循linux手册!谢谢大家!stackoverflow社区太棒了,希望我也能尽快开始贡献@user1020069:我建议更新您的姓名。@bukzor同样,您知道如何在没有-printf选项(我没有)的情况下执行以下操作吗?-->找到-printf“%p(%s,%Tb%Td%TY%TH:%TM)\n基本上我也希望列出大小和日期/时间。