小智 7
使用awk:
echo test-server-domain-name.com | awk -F 'domain' '{print $1}'
Run Code Online (Sandbox Code Playgroud)
这将在第一次 domain发现时进行切割:
cutat=domain
fqdm=test-server-domain-name.com
res=${fqdm%%${cutat}*}
echo $res
Run Code Online (Sandbox Code Playgroud)
输出:
test-server-
Run Code Online (Sandbox Code Playgroud)
如果字符串中有多个domains 并且想要剪切最后一个,请改用res=${fqdm%${cutat}*}(one %)。
来自Shell 参数扩展:
${parameter%word}
${parameter%%word}
该单词被扩展以产生模式并根据下面描述的规则进行匹配(请参阅模式匹配)。%如果模式与参数扩展值的尾部部分匹配,则扩展的结果是删除了最短匹配模式(大小写)或最长匹配模式(大小写%%)的参数值。如果参数是@或*,则模式删除操作依次应用于每个位置参数,并且扩展是结果列表。@如果参数是下标为或 的数组变量*,则模式删除操作将依次应用于数组的每个成员,并且扩展是结果列表。