请求修复slapcat输出79字符自动换行问题,适配LDAP目录全文搜索
解决slapcat输出自动换行干扰全文搜索的问题
我太懂这种困扰了——用slapcat导出大型LDAP目录时,默认的79字符自动换行确实会把完整的属性值拆得七零八落,直接用grep之类的工具搜索根本找不到完整匹配的内容。别担心,这几个方法能快速解决:
直接禁用slapcat的自动换行
slapcat本身支持通过参数关闭LDIF格式的换行限制,执行命令时加上-o ldif-wrap=no就行:slapcat -o ldif-wrap=no > full_line_ldap_export.ldif这样导出的所有属性值都会保持单行,完全不影响后续的全文搜索操作。
修复已导出的带换行文件
如果已经导出了带换行的LDIF文件,也不用重新导出,用sed命令就能把折行的内容合并回来。LDIF的折行规则是:续行以空格或制表符开头,所以用这个脚本处理:sed -e :a -e '/^\s/!{P;D;}' -e N -e 's/\n\s//' -e ta your_old_export.ldif > fixed_export.ldif它会自动把所有续行和上一行合并,还原成完整的属性值。
临时搜索不修改文件
如果只是临时搜索不需要保存处理后的文件,可以直接在管道里完成合并和搜索:slapcat | sed -e :a -e '/^\s/!{P;D;}' -e N -e 's/\n\s//' -e ta | grep "your_target_search_term"这样实时处理输出,直接拿到搜索结果,省了中间文件的麻烦。
内容的提问来源于stack exchange,提问作者nelaaro
相关产品推荐
相关产品推荐

