我们如何使用sed获取“Install ID:
”和XKCD
之后的第一个空格之间的4个字符,基本上我想从中提取“XKCD
”字符串
Install ID: XKCD (8426200,8179503)
我尝试使用 -
echo "Install ID: XKCD (8426200,8179503)" | sed -n 's/^.*ID:\(.*\)*$/\1/p'
但是这给了我“XKCD (8426200,8179503)
”而不仅仅是XKCD
。我无法弄明白,如何交出空间部分。
答案 0 :(得分:3)
对您的尝试进行了一些小修改:
echo "Install ID: XKCD (8426200,8179503)" | sed -n 's/^.*ID: *\([^ ]*\) .*$/\1/p'
或
echo "Install ID: XKCD (8426200,8179503)" | awk '{print $3}'
答案 1 :(得分:0)
test="Install ID: XKCD (8426200,8179503)"
echo $test | sed -re 's/^.*\:\s+([A-z]{4}).*/\1/'
或者:忽略冒号前的所有内容,忽略冒号后面的空格,获取空格后的四个字符,然后忽略所有内容。如果您的角色包含数字或其他东西,它们当前会失败(但您需要将它们添加到方括号中的列表中)。