markdown bash教程#sh #bash
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown bash教程#sh #bash相关的知识,希望对你有一定的参考价值。
删除一个字符串中后面的字符
```
$ str=foo_bar:baz
$ echo "${str%%:*}"
foo_bar
```
删除一个字符串前面的字符
```
$ str=foo_bar:baz
$ echo "${str##*:}"
baz
```
字符串转成 List
```
$ str=‘a|b|c’
$ arr=${str//|/ } && echo $arr
a b c
```
List 转成字符串
```
$ arr=(1 2 3)
$ str=$(printf "%s," ${arr[@]:0:2})
1,2
```
字符串替换
```
$ str=sh_c
$ echo ${str/_/-}
sh-c
```
List 数量
```
$ echo ${#arr[@]}
```
删除最后一个字符
```
$ str='123'
$ echo ${str::-1}
12
```
Map 操作
```
declare -A regions
regions=( ["SGP"]=40 ["NRT"]=25 )
regions["CDG"]=20
echo ${regions["SGP"]}
```
### 数学操作
```
let a=5+4
echo $a # 9
let "a = 5 + 4"
echo $a # 9
let a++
echo $a # 10
let "a = 4 * 5"
echo $a # 20
let "a = $1 + 30"
echo $a # 30 + first command line argument
```
## find printf 添加打印项
添加 $PREFIX 前缀
```
find nginx/app -type d -printf '$(PREFIX)/%p '
```
## 多字段排序
```
cat << EOF > all.txt
binance,"2018-09-01",6986,6312,988,61440.61093546052
binance,"2018-09-02",5644,4950,968,34594.98045481693
bitfinex,"2018-10-22",277,236,56,32873.3055055309,29650.881664956407
bitfinex,"2018-10-23",275,222,66,19275.46345581395,37960.79022311062,4431531.91919
EOF
## 根据第二行,再第一行排序,以 ',' 分割
sort -k 2,2 -k 1,1 -t , all.txt > all.csv
```
## 取消自动补全
```
$ complete -F systemctl -r
```
以上是关于markdown bash教程#sh #bash的主要内容,如果未能解决你的问题,请参考以下文章
markdown [All About Shell]关于shell的信息#shell #bash #sh
markdown Bash教程
教程 | Bash 脚本 set 命令教程
Bash 脚本 set 命令教程
Bash入门教程
Bash变量分配中找不到命令错误