gpt4 book ai didi

shell - 在awk中使用字符串作为分隔符分割字符串

转载 作者:行者123 更新时间:2023-12-04 14:34:30 35 4
gpt4 key购买 nike

系统 : Solaris
我正在尝试使用分隔符将字符串拆分为另一个字符串

例如:

主字符串是:/as/asdasd/asdasd/root/asdqwe/asd/asssdd/
我想把它从“根”子字符串分成两部分,这样
$1 = /as/asdasd/asdasd/

$2 = asdqwe/asd/asssdd/
这是我使用 FS 实现的代码,但它不起作用:

echo /as/asdasd/asdasd/root/asdqwe/asd/asssdd/ | awk '
BEGIN { FS = "root" } { print $2 }'

最佳答案

无需使用awk ,您可以使用 POSIX shell 执行此操作,如下所示:

$ var="/as/asdasd/asdasd/root/asdqwe/asd/asssdd/"

$ echo ${var%/root/*}
/as/asdasd/asdasd

$ echo ${var#*/root/}
asdqwe/asd/asssdd/

更新

如果您的 Solaris 版本 awk不起作用(可能是因为 FS 必须是字符而不是字符串),然后使用 split() 尝试此方法
awk '{split($0,a,"/root/");$1=a[1] "/"; $2=a[2]; print $1,$2}'

关于shell - 在awk中使用字符串作为分隔符分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5333599/

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