草庐IT

menta-regex

全部标签

regex - 如何在Linux中指定进程名称中仅获取进程ID?

如何只获取Linux中指定进程名的进程ID?ps-ef|grepjavatest3137231265013:41pts/100:00:00grepjava根据进程id我会写一些逻辑。那么如何仅获取特定进程名称的进程ID。示例程序:PIDS=ps-ef|grepjavaif[-z"$PIDS"];thenecho"nothing"elsemailtest@domain.examplefi 最佳答案 您可以将输出通过管道传输到awk以仅打印PID。例如:ps-ef|grepnginx|awk'{print$2}'9439

regex - 如何在Linux中指定进程名称中仅获取进程ID?

如何只获取Linux中指定进程名的进程ID?ps-ef|grepjavatest3137231265013:41pts/100:00:00grepjava根据进程id我会写一些逻辑。那么如何仅获取特定进程名称的进程ID。示例程序:PIDS=ps-ef|grepjavaif[-z"$PIDS"];thenecho"nothing"elsemailtest@domain.examplefi 最佳答案 您可以将输出通过管道传输到awk以仅打印PID。例如:ps-ef|grepnginx|awk'{print$2}'9439

regex - 为什么 `\d` 在 sed 的正则表达式中不起作用?

这个问题在这里已经有了答案:Howtoextracttextfromastringusingsed?(5个回答)关闭4年前。我正在尝试在sed的正则表达式中使用\d但它不起作用:sed-re's/\d+//g'但这是有效的:sed-re's/[0-9]+//g' 最佳答案 \d是一个开关而不是正则表达式宏。如果您想使用一些预定义的“常量”而不是[0-9]表达式,请尝试运行以下代码:s/[[:digit:]]+//g 关于regex-为什么`\d`在sed的正则表达式中不起作用?,我们在S

regex - 为什么 `\d` 在 sed 的正则表达式中不起作用?

这个问题在这里已经有了答案:Howtoextracttextfromastringusingsed?(5个回答)关闭4年前。我正在尝试在sed的正则表达式中使用\d但它不起作用:sed-re's/\d+//g'但这是有效的:sed-re's/[0-9]+//g' 最佳答案 \d是一个开关而不是正则表达式宏。如果您想使用一些预定义的“常量”而不是[0-9]表达式,请尝试运行以下代码:s/[[:digit:]]+//g 关于regex-为什么`\d`在sed的正则表达式中不起作用?,我们在S

regex - sed - 注释与特定字符串匹配且尚未注释掉的行

我有以下测试文件AAABBBCCC使用下面的sed我可以注释掉BBB行。#sed-e'/BBB/s/^/#/g'-ifile如果该行的开头没有#,我只想注释掉它。#sed-e'/^#/!/BBB/s/^/#/g'filesed:-eexpression#1,char7:unknowncommand:`/'有什么想法可以实现这一点吗? 最佳答案 假设您没有包含多个#的任何行,这将起作用:sed-e'/BBB/s/^#*/#/'-ifile注意:您不需要/g,因为您每行最多进行一次替换。 关

regex - sed - 注释与特定字符串匹配且尚未注释掉的行

我有以下测试文件AAABBBCCC使用下面的sed我可以注释掉BBB行。#sed-e'/BBB/s/^/#/g'-ifile如果该行的开头没有#,我只想注释掉它。#sed-e'/^#/!/BBB/s/^/#/g'filesed:-eexpression#1,char7:unknowncommand:`/'有什么想法可以实现这一点吗? 最佳答案 假设您没有包含多个#的任何行,这将起作用:sed-e'/BBB/s/^#*/#/'-ifile注意:您不需要/g,因为您每行最多进行一次替换。 关

regex - 在 Bash 中递归更改文件扩展名

我想递归地遍历一个目录并将具有某个扩展名的所有文件的扩展名更改为.t1到.t2。执行此操作的bash命令是什么? 最佳答案 用途:find.-name"*.t1"-execbash-c'mv"$1""${1%.t1}".t2'-'{}'+如果您有rename可用,请使用其中的一个:find.-name'*.t1'-execrename.t1.t2{}+find.-name"*.t1"-execrename's/\.t1$/.t2/''{}'+ 关于regex-在Bash中递归更改文件扩展

regex - 在 Bash 中递归更改文件扩展名

我想递归地遍历一个目录并将具有某个扩展名的所有文件的扩展名更改为.t1到.t2。执行此操作的bash命令是什么? 最佳答案 用途:find.-name"*.t1"-execbash-c'mv"$1""${1%.t1}".t2'-'{}'+如果您有rename可用,请使用其中的一个:find.-name'*.t1'-execrename.t1.t2{}+find.-name"*.t1"-execrename's/\.t1$/.t2/''{}'+ 关于regex-在Bash中递归更改文件扩展

regex - linux查找正则表达式

我在使用find命令的正则表达式时遇到问题。可能是我不明白在命令行上转义的东西。为什么这些不一样?find-regex'.*[1234567890]'find-regex'.*[[:digit:]]'Bash、Ubuntu 最佳答案 你应该看看find的-regextype参数,见manpage:-regextypetypeChangestheregularexpressionsyntaxunderstoodby-regexand-iregextestswhichoccurlateronthecommandline.Currentl

regex - linux查找正则表达式

我在使用find命令的正则表达式时遇到问题。可能是我不明白在命令行上转义的东西。为什么这些不一样?find-regex'.*[1234567890]'find-regex'.*[[:digit:]]'Bash、Ubuntu 最佳答案 你应该看看find的-regextype参数,见manpage:-regextypetypeChangestheregularexpressionsyntaxunderstoodby-regexand-iregextestswhichoccurlateronthecommandline.Currentl