美文网首页
Linux系统find命令-print0选项

Linux系统find命令-print0选项

作者: 佛系小懒 | 来源:发表于2020-02-02 14:35 被阅读0次

问题

find ./ -print0 |  grep -FzZ '.git/config'

注意1:-print0 是为了将输出的换行符替换成Null空字符(\x00)进行的, 对应有 xargs -0 进行逆向处理将空字符串专程换行符

注意2:'.git/config' 里面是正则表达式,如果要匹配原始字符串'.git/config' 需添加转义字符,具体为'\.git\/config'

问题拆解

命令本身问题:命令中携带\x00

subprocess在同一个方法中不能多次使用

依赖条件

 无

源码链接

错误信息

in check_output **kwargs).stdout subprocess.py", line 696, in runFile "/usr/local/python3.5/lib/python3.5/subprocess.py", line 1479, in _execute_childrestore_signals, start_new_session, preexec_fn)

错误分析和认识

因为存在\x00导致subprocee创建子进程执行命令时,无法正常

尝试的解决思路

解决思路1 : 使用不带\x00的命令,如ls -al,测试正常,证明:同一个方法中可以多次使用subprocess来执行shell命令,正常输出相关信息

相关文章

网友评论

      本文标题:Linux系统find命令-print0选项

      本文链接:https://www.haomeiwen.com/subject/yjlqxhtx.html