使用 Bash 将字符串分解为两部分
Explode a string into two parts using Bash
我正在构建一个小脚本来自动执行我经常做的事情。
脚本接受一个参数,例如:vendor/package
。我想把它和 split/explode 分成两个单独的字符串:vendor
和 package
.
我已经在此处和其他各个地方查看了解决方案,但没有任何效果。我敢肯定它真的很简单,但我不擅长 bash,所以非常感谢您的帮助。谢谢!
您可以使用 cut
来实现此目的
[ vaebhav@Vaibhavs-MacBook-Air:/usr/local/lib - 06:12 PM ]$ echo "value/package" | cut -d"/" -f1
value
[ vaebhav@Vaibhavs-MacBook-Air:/usr/local/lib - 06:12 PM ]$ echo "value/package" | cut -d"/" -f2
package
[ vaebhav@Vaibhavs-MacBook-Air:/usr/local/lib - 06:12 PM ]$
就其在脚本中的实现而言 -
part1=`echo | cut -d"/" -f1`
part2=`echo | cut -d"/" -f2`
如果使用 bash:
#!/bin/bash
echo ${1#*/}
echo ${1%/*}
测试:
$ bash foo.bash vendor/package
package
vendor
我正在构建一个小脚本来自动执行我经常做的事情。
脚本接受一个参数,例如:vendor/package
。我想把它和 split/explode 分成两个单独的字符串:vendor
和 package
.
我已经在此处和其他各个地方查看了解决方案,但没有任何效果。我敢肯定它真的很简单,但我不擅长 bash,所以非常感谢您的帮助。谢谢!
您可以使用 cut
来实现此目的
[ vaebhav@Vaibhavs-MacBook-Air:/usr/local/lib - 06:12 PM ]$ echo "value/package" | cut -d"/" -f1
value
[ vaebhav@Vaibhavs-MacBook-Air:/usr/local/lib - 06:12 PM ]$ echo "value/package" | cut -d"/" -f2
package
[ vaebhav@Vaibhavs-MacBook-Air:/usr/local/lib - 06:12 PM ]$
就其在脚本中的实现而言 -
part1=`echo | cut -d"/" -f1`
part2=`echo | cut -d"/" -f2`
如果使用 bash:
#!/bin/bash
echo ${1#*/}
echo ${1%/*}
测试:
$ bash foo.bash vendor/package
package
vendor