我是bash/fish的新手,发现有些字符串操作比较难,比如:
- toUpperCase/toLowerCase
- 一个字符串以另一个字符串开始/结束
- 一个字符串包含另一个字符串
- 获取文件名的后缀
- 修剪字符串
- 检查是否匹配正则表达式
等等。虽然我可以找到大多数情况下的各种解决方案,但我发现它们并不容易记住或使用。
所以我想知道是否有任何命令/库支持大多数常见的字符串操作,假设它的名字是mystr
,那么我可以这样使用它:
mystr --to-upper somestring
mystr --starts-with sss somestring
mystr --contains bbb sometring
mystr --suffix somestring
mystr --trim somestring
mystr --match "some.*"somestring
mystr --find-match "some(.*)"somestring $1
,我的意思是在(.*)
中获取匹配的部分
最佳答案
它还没有发布,但是 top-of-tree fish 有一个不错的新 strings
特性:https://github.com/fish-shell/fish-shell/issues/156
除此之外,您通常会使用混杂的外部命令。毕竟这是 Unix!
- 大写:
echo something | tr "[:lower:]""[:upper:]"
- 前缀:
echo stuff | grep -q '^stu'
- 包含:
echo stuff | grep -q 'tuf'
- 后缀:
echo stuff | grep -q 'uff$'
- 修剪空格:
echo 'hello' | sed 's/^[[:space:]]*//g' | sed 's/[[:space:]]*$//g'
- 正则表达式匹配:
echo somestring | grep -q '^some.*$'
- 正则表达式搜索:
echo somestring | grep -q 'some.*'
关于string - 我可以在 bash/fishshell 中使用任何字符串操作命令/库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34713745/