Shell 记事本

2018-04-19  本文已影响0人  LaMole

字符串相关

${var#*token}  //#表示一,*token是正则表达式,从左删除,直到删除完token
${var##*token}  //##表示最后,*token是正则表达式,从左删除,直到删除完token
${var%token*}  //%表示一,*token是正则表达式,从右删除,直到删除完token
${var%%token*}  //#表示最后,*token是正则表达式,从右删除,直到删除完token
${var:0:5}  //从0开始数五个
imagearray=(${images//{\"image\":\"/ })对变量images按照{\"image\":\"进行分割,//与/之间与分割的字符 ,另外/后有一个空格不可省略 
sort -k2n final | uniq   //排序去重

语法相关

if[[a=~b]] ,其中=~为匹配正则表达式

管道

管道会开启subShell需要注意,管道中的变量作用域相当于自函数中的变量作用域

$相关

$0 这个程式的执行名字
$n 这个程式的第n个参数值,n=1..9
$* 这个程式的所有参数,此选项参数可超过9个。
$# 这个程式的参数个数
$$ 这个程式的PID(脚本运行的当前[进程ID](https://www.baidu.com/s?wd=%E8%BF%9B%E7%A8%8BID&tn=SE_PcZhidaonwhc_ngpagmjz&rsv_dl=gh_pc_zhidao)号)
$! 执行上一个背景指令的PID(后台运行的最后一个进程的[进程ID](https://www.baidu.com/s?wd=%E8%BF%9B%E7%A8%8BID&tn=SE_PcZhidaonwhc_ngpagmjz&rsv_dl=gh_pc_zhidao)号)
$? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)
$- 显示shell使用的当前选项,与set命令功能相同
$@ 跟$*类似,“$@”为“$1” "$2" ... "$n", "$*" 为 "$1 $2 ... $n"

diff var{var} "{var}"var {var} 假设 variable="var" var="var"{var}iable=variable
{variable}=var 括号用于表示想取的变量是哪个 "{var}"
双引号表示当作一个字符串处理
https://stackoverflow.com/questions/18135451/what-is-the-difference-between-var-var-and-var-in-the-bash-shell

根据配置文件生成Value注入的属性

awk -F= '{n=split($1,a,".");print "@Value(\"${"$1"}\")\nprivate String "a[n]";"}' origin
while getopts :u:n:f:b:j:m:i:c:vh arg; do
    case $arg in
        u) u=$OPTARG;;
        n) h=$OPTARG;;
        .
        .
        .
        *\?) usage ;;
    esac
done
expr index $var "aaa"
#{x/a/b}
#{x//a/b/}

列转行

cat file | xargs echo -n 转之后空格分割
cat file | xargs echo -n | sed 's/ /想要的分隔符/g'

行转列

sed 's/现有分隔符/\n/g' file
上一篇 下一篇

猜你喜欢

热点阅读