我有一个字符串adajuikodlobauvk01
或adajuikoplobauvk01
在这两个字符串中,差异是d
和p
如果字符串是adajuikodlobauvk01
或adajuikoplobauvk01
,则预期输出是adajuiko
- 第一个字符串的代码工作正常:
echo adajuikodlobauvk01 | sed -e 's/\([a-z]*\)d.*/\1/g' -e 's/\([a-z]*\)p.*/\1/g' adajuiko
- 对于第二个字符串,输出与预期不同:
echo adajuikoplobauvk01 | sed -e 's/\([a-z]*\)d.*/\1/g' -e 's/\([a-z]*\)p.*/\1/g' a
请帮助根据同一字符串的给定输入来匹配任何一种模式。
答案1
为了获得预期的adajuiko
输出,尽管输入是 或adajuikodlobauvk01
,adajuikoplobauvk01
(管道)sed
字符后面的代码|
必须是这样的:
sed -e 's/\([a-z]*\)[dp].*/\1/g'
在哪里[dp]
意思它匹配d或者p。