gpt4 book ai didi

bash - 从长文本中提取字符串

转载 作者:行者123 更新时间:2023-11-29 09:24:17 31 4
gpt4 key购买 nike

OSX 中的以下命令检查帐户是否被禁用。

我想对字符串“isDisabled=X”进行 grep 以创建禁用用户的报告,但我不确定如何执行此操作,因为输出分为三行,而且我对前 12 个字符感兴趣第三行:

bash-3.2# pwpolicy -u jdoe -getpolicy
Getting policy for jdoe /LDAPv3/127.0.0.1

isDisabled=0 isAdminUser=1 newPasswordRequired=0 usingHistory=0 canModifyPasswordforSelf=1 usingExpirationDate=0 usingHardExpirationDate=0 requiresAlpha=0 requiresNumeric=0 expirationDateGMT=12/31/69 hardExpireDateGMT=12/31/69 maxMinutesUntilChangePassword=0 maxMinutesUntilDisabled=0 maxMinutesOfNonUse=0 maxFailedLoginAttempts=0 minChars=0 maxChars=0 passwordCannotBeName=0 validAfter=01/01/70 requiresMixedCase=0 requiresSymbol=0 notGuessablePattern=0 isSessionKeyAgent=0 isComputerAccount=0 adminClass=0 adminNoChangePasswords=0 adminNoSetPolicies=0 adminNoCreate=0 adminNoDelete=0 adminNoClearState=0 adminNoPromoteAdmins=0

非常感谢您的想法/建议!最终这将成为 Bash 脚本的一部分。谢谢。

最佳答案

这就是您将如何使用 grep 来匹配“isDisabled=X”:

grep -o "isDisabled=."


解释:

  • grep: 调用grep命令
  • -o:为 grep 使用 --only-matching 选项(来自 grep 手册:“仅打印匹配的(非空)匹配行的部分,每个这样的部分在单独的输出行上。”
  • "isDisabled=.":这是您提供给 grep 的搜索模式。 .是正则表达式的一部分,意思是“匹配除换行符外的任何字符”。

用法:

这就是您如何将它用作脚本的一部分:

pwpolicy -u jdoe -getpolicy | grep -oE "isDisabled=."

这是将结果保存到变量的方法:

status=$(pwpolicy -u jdoe -getpolicy | grep -oE "isDisabled=.")

如果您的命令在某个时间之前运行过,并且命令的结果保存到一个名为“results.txt”的文件中,您可以将其用作 grep 的输入,如下所示:

grep -o "isDisabled=." results.txt

关于bash - 从长文本中提取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13578302/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com